我正在使用Ant 1.7.1在eclipse中构建我们的应用程序。我的应用程序将部署在WAS 6.1上。因为我在我的代码中使用sun.security。*包类和子包(我知道不建议使用此包,但没有其他选项)。
当我在WAS中部署耳朵时,我得到了sun.security.x509.AlgorithmId类的ClassDefNotFoundError。我发现IBM Jre中所需的包中没有这个类(这就是为什么不建议使用sun。包的原因。)
我必须将IBM jar放入我的开发类路径中,并使eclipse使用这些jar而不是我的本地JRE jar,将IBM jar放在eclipse中的JRE jar之前 - 订单和导出。这很好。
现在,我的问题是,如何在ANT中对罐子进行相同的排序。我知道如何在ANT类路径中指定jar的顺序。但是,如何将IBM罐子放在ANT的JRE罐子之前?
我尝试在引导类路径中设置IBM jar。但是这样做,ANT无法找到java.lang,因为java classpath现在不在引导类路径中。
<javac source="1.5"
target="1.5"
bootclasspathref="project.class.path"
destdir = "${build.classes.dir}"
srcdir = "${work.dir}/src"
debug="true"
encoding="UTF-8"
>
<classpath path="${java.library.path}"/>
</javac>
请告知如何完成这项工作。
任何帮助将不胜感激。感谢
答案 0 :(得分:0)
我得到了一个解决方案。我对'javac'任务进行了以下更改:
<javac source="1.5"
target="1.5"
destdir = "${build.classes.dir}"
srcdir = "${work.dir}/src"
debug="true"
encoding="UTF-8"
>
**<compilerarg value="-Xbootclasspath/p:${toString:project.class.path}"/>**
</javac>
Ant有效!!