Java Gradle Eclipse插件不包括导出=";“真的”;在生成的.classpath文件中
我正在尝试将我的Gradle版本从2.3更新到2.12。当我运行“eclipse”任务来生成eclipse文件时,我在使用新版本(2.12)时遇到了一个问题 在.classpath文件中生成的classpathentry节点不再包含exported=“true”属性,这是在eclipse中创建工作运行目标所必需的 使用2.3版Java Gradle Eclipse插件不包括导出=";“真的”;在生成的.classpath文件中,java,eclipse,gradle,Java,Eclipse,Gradle,我正在尝试将我的Gradle版本从2.3更新到2.12。当我运行“eclipse”任务来生成eclipse文件时,我在使用新版本(2.12)时遇到了一个问题 在.classpath文件中生成的classpathentry节点不再包含exported=“true”属性,这是在eclipse中创建工作运行目标所必需的 使用2.3版 <classpathentry sourcepath="/../some-lib-sources.jar" kind="lib" path="/../some-l
<classpathentry
sourcepath="/../some-lib-sources.jar" kind="lib" path="/../some-lib.jar"
exported="true"/>
使用版本2.12(缺少exported=“true”)
我在Gradle文档中找不到任何关于这个问题的有用信息。我希望这只是一个简单的配置更改
有人知道如何解决这个问题吗
更新:
因此,我发现了我认为导致这个问题的变化
IDE类路径生成中的更改。。。项目中的所有依赖项
标记为导出=假
。。但是我仍然找不到任何关于如何控制哪些classpathentries获得exported=true属性的信息。在我看来,允许构建和依赖关系管理工具管理IDE特定文件是一个根本错误。见我的解释
相反,安装并使用它将基于Gradle的项目导入Eclipse。让Eclipse插件来做Eclipse的事情,让构建工具来做构建。在我看来,允许构建和依赖管理工具来管理IDE特定的文件是一个根本性的错误。见我的解释
相反,安装并使用它将基于Gradle的项目导入Eclipse。让Eclipse插件来完成Eclipse的工作,构建工具来完成构建。我在合并时添加了以下代码,从而解决了这个问题
eclipse {
classpath {
defaultOutputDir = file('classes')
file {
whenMerged { classpath ->
classpath.entries.findAll { entry -> entry.kind == 'lib' }*.exported = true
}
}
}
}
我最终通过在合并时添加以下代码解决了这个问题
eclipse {
classpath {
defaultOutputDir = file('classes')
file {
whenMerged { classpath ->
classpath.entries.findAll { entry -> entry.kind == 'lib' }*.exported = true
}
}
}
}
谢谢我肯定会看一看这个,但现在我们只需要让它再次工作。Buildship似乎修改了Eclipse.classpath文件。当然,当我们执行Gradle->Refresh时,它会重新生成这些文件。在看Gradle文档的时候,我从来都不知道Buildship到底是什么!谢谢我肯定会看一看这个,但现在我们只需要让它再次工作。Buildship似乎修改了Eclipse.classpath文件。当然,当我们执行Gradle->Refresh时,它会重新生成这些文件。在看Gradle文档的时候,我从来都不知道Buildship到底是什么!