我有一个关键的类路径顺序问题,因此我需要确保JAR 1在类路径中出现在JAR 2之前。
有没有办法在Eclipse IDE的GRADLE_DEPENDENCIES中强制执行此操作。
有关如何在打包应用程序(分发)期间实现相同目标的任何见解?
答案 0 :(得分:6)
理想情况下,您应该修复项目中的依赖项,以便在类路径中拥有完全正确的jar集。在Gradle文档的Dependency Management章节中,查看如何排除依赖关系。
如果您仍想修改eclipse的类路径条目,这是一种可能的解决方案。
您可以使用以下内容修改Gradle中.classpath
任务生成的eclipse
文件:
eclipse.classpath.file {
withXml {
// This returns a the classpath XML root node (groovy.util.Node)
def node = it.asNode()
// Do the re-rodering of classpath entries by modifying the node object
}
}
查看groovy.util.Node了解可用于查看/修改XML节点的方法。
请注意,当您在JVM中运行打包的应用程序分发时,您很可能无法控制所执行的类路径排序,这将在应用程序实际运行时将您拉回到运行时的方块。
因此,最好的解决方案是在类路径中找出您不想要的jar依赖项的来源,并从那里消除它,而不是依赖于类路径排序,这是有风险且不可靠的。