我有一个如下的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失败。
最佳答案
因此,如果进行刷新,则gradle将从头开始(重新)生成.classpath文件。因此,未在gradle级别定义的所有内容都将丢失!
如何在Gradle中定义src文件夹?
尝试将以下块放入您的build.gradle中:
sourceSets {
main {
java {
srcDirs 'src/main/proto'
}
}
}
只要文件夹中至少包含一个文件,这应该将“src / main / proto”添加到eclipse类路径中!
关于eclipse - 为什么Gradle-> Refresh从.classpath中删除我的protobuf源文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45701837/