eclipse - 为什么Gradle-> Refresh从.classpath中删除我的protobuf源文件夹?

标签 eclipse gradle

我有一个如下的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/

相关文章:

c++ - eclipse 开普勒 : #include "boost/filesystem.hpp" breaking debugging?

Eclipse Indigo 无法读取存储库(更新站点)

Eclipse Ctrl+Shift+R 不显示项目中的所有文件

android - 如何将 Eclipse Indigo 正确升级到 Juno

java - 如何用 jar 替换 gradle 模块依赖项?

jpa - 为什么需要JPA依赖关系才能运行飞行路线迁移

java - 选择 Eclipse 上 Ubuntu 中的 JTextField 上看不到的文件路径

gradle - 使用Gradle依赖项启动Spring Boot应用程序时出错

gradle - 将具有密切源依赖关系的模块发布到公共(public)源中心是否合法

java - Eclipse 在错误的目录中创建 JUnit 测试