我有一个Eclipse / Gradle项目,如下所示。 .proto
描述符的一个目录和生成的.java
文件的一个目录,以包含在其他项目中。
src/main/java
src/main/proto
我想将我的src/main/proto
目录添加为Eclipse源文件夹,以便于编辑。
很自然地,我将<classpathentry kind="src" path="src/main/proto"/>
添加到我的.classpath
文件中。添加源文件夹,一切都很好,直到我运行Gradle->Refresh
,这会不友好地删除源文件夹。我的猜测是Gradle在.java
文件夹中找不到任何proto
文件,因此会从.classpath
中删除整个文件夹。有什么方法可以阻止这种情况吗?
我也尝试过:
<classpathentry kind="src" path="src/main/proto">
<attributes>
<attribute name="FROM_GRADLE_MODEL" value="true"/>
</attributes>
</classpathentry>
来自this question但没有成功。
答案 0 :(得分:5)
所以问题是,如果你进行刷新,gradle会从头开始重新生成.classpath文件。所以你没有在gradle级别定义的任何内容都会丢失!
如何在Gradle中定义src文件夹? 尝试将以下块放入build.gradle:
sourceSets {
main {
java {
srcDirs 'src/main/proto'
}
}
}
只要文件夹包含至少一个文件,就应该将'src / main / proto'添加到eclipse类路径中!