如何强制javac使用某个jar文件?

时间:2014-07-04 09:33:55

标签: java ubuntu jar classpath

在我的公司计算机中,我们有$JAVA_HOME/jre/lib/ext/opennlp-tools-1.5.3.jar,在我的应用程序中,我实际上想要使用旧版本,例如$DIR/lib/opennlp-tools-1.3.0.jar

当我尝试使用javac -cp $DIR/lib/opennlp-tools-1.3.0.jar MainClass.java进行编译时,显然javac仍然使用opennlp-tools-1.5.3.jar,即$JAVA_HOME中的版本(我知道这个来自产生的不兼容性,以及删除$JAVA_HOME中的opennlp工具使其顺利运行)

问题

有没有办法告诉javac使用我指定的jar文件?

正如我上面所说,删除$JAVA_HOME中的jar文件有效,但它可能会破坏其他应用程序,因此我希望对文件结构进行微小的更改。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

您可以尝试将此选项传递给javac(除-cp之外):

-Djava.ext.dirs=$DIR/lib

避免查看$ JAVA_HOME中的扩展名。似乎-cp不会覆盖它。