我有一个项目,它有两个不同的jars,每个jars都包含一些相同的类。我需要的是让它在Jar "B“之前使用Jar "A”中的类。在普通的Java编译中(以及使用Ant),我可以指定类路径本身的顺序。这样,我可以保证Jar "A“中的类将在Jar "B”中的类之前使用。
在常春藤有办法做到这一点吗?
我能想到的唯一方法就是在我的ivy.xml中创建两个独立的配置
<dependency org="com.vegibank" name="a.jar"
rev="1.0" conf="foo->default"/>
<dependency org="com.vegibank" name="b.jar"
rev="1.0" conf="compile->default"/>然后创建两个单独的路径类引用:
<ivy:cachepath pathid="compile.foo.classpath"
conf="foo"/>
<ivy:cachepath pathid="compile.normal.classpath"
conf="compile"/>然后在<javac/>中,我可以指定路径:
<javac ...>
<classpath refid="compile.foo.classpath"/>
<classpath refid="compile.normal.classpath"/>
</javac>然而,我假设一定有一种方法来保证在Ivy解析时jars被加载到类路径中的方式。
有没有办法做到这一点?
发布于 2013-04-27 22:02:14
每个Ivy Ant任务甚至IvyDE都遵循ivy.xml文件中依赖项声明的顺序。因此,如果在ivy.xml中,您在b.jar之前声明了对a.jar的依赖,则生成的类路径将首先使用a.jar,然后使用b.jar。
https://stackoverflow.com/questions/16200763
复制相似问题