Gradle-Eclipse LinkedResource创建空文件夹问题求助
使用Gradle的LinkedResource功能时,能在指定位置创建目标文件夹,但文件夹为空,没有资源被链接过来。尝试过locationUri参数也无效,运行gradle eclipse时Eclipse和控制台都没报错。当前配置代码如下:
project { // Linked Resources linkedResource name: 'src/main/java/com/software/main', type: '2', location: '../project2/src/main/java/com/software/main' }
以下是几种排查和解决的方向:
先确认路径是否正确
先验证location里的相对路径是否指向正确的目录。在当前项目的根目录下,用命令行执行ls ../project2/src/main/java/com/software/main(Linux/macOS)或者dir ../project2/src/main/java/com/software/main(Windows),看看目标路径里有没有文件。如果路径不存在或者为空,那自然链接不到资源。调整类型参数的写法
type: '2'对应Eclipse的文件夹类型,理论上没问题,但部分Gradle Eclipse插件版本支持更直观的type: 'FOLDER'写法,你可以试试替换后重新执行gradle eclipse。用绝对路径测试
暂时把location改成绝对路径(比如/Users/xxx/project2/src/main/java/com/software/main或者D:\projects\project2\src/main/java/com/software/main),排除相对路径解析的问题。如果绝对路径能正常显示资源,再回头调整相对路径。更新Gradle Eclipse插件版本
旧版本插件可能有兼容性问题,在build.gradle里指定最新稳定版的插件试试:plugins { id 'eclipse' version '7.6.0' }手动刷新Eclipse项目
有时候Gradle生成配置后,Eclipse没自动同步。执行gradle eclipse后,右键项目选Refresh,或者用File → Refresh刷新整个工作空间,看看资源会不会出来。检查.project文件的配置
打开当前项目的.project文件,看看有没有生成LinkedResource的配置段:<linkedResources> <link> <name>src/main/java/com/software/main</name> <type>2</type> <locationURI>PARENT-1-PROJECT_LOC/project2/src/main/java/com/software/main</locationURI> </link> </linkedResources>如果没有这段,说明Gradle没生成配置,得检查插件配置是否正确;如果有,就删掉
.project和.classpath文件,重新执行gradle eclipse后再导入项目试试。
内容的提问来源于stack exchange,提问作者Maciej Cygan

