6

我有一个关键的类路径顺序问题,因此我需要确保在类路径中 JAR 1 出现在 JAR 2 之前。

有没有办法在 Eclipse IDE 的 GRADLE_DEPENDENCIES 中强制执行此操作。

在打包应用程序(分发)期间如何实现相同的任何见解?

4

1 回答 1

7

理想情况下,您应该修复项目中的依赖关系,以便在类路径中拥有正确的 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 依赖的来源并从那里消除它,而不是依赖于有风险且不可靠的类路径排序。

于 2015-01-11T19:57:49.060 回答