Java库冲突

时间:2014-09-03 20:48:29

标签: java jar

我在项目中使用Stanford POSTagger并导入了tagger .jar 它工作得很好,但我遇到的问题是当我试图将Stanford NER_Recognizer .jar文件添加到我的项目时两个罐子都有相同的命名空间edu.stanford.nlp但是有一些类在NER .jar中没有出现在POStagger中的.jar

所以我得到了这个例外:

  

线程“main”中的异常java.lang.NoSuchFieldError:strictGoodCoNLL
  在edu.stanford.nlp.ie.NERFeatureFactory.featuresCpC(NERFeatureFactory.java:1710)“   这是因为pos tagger .jar有edu.stanford.nlp.io.IOUtils类   这也存在于NER .jar

那么,我怎样才能选择我希望第二类不是第一类?

1 个答案:

答案 0 :(得分:0)

假设第二个jar应该总是覆盖第一个jar就像这样就足够了。

java -classpath  NER_Recognizer.jar;tagger.jar

来自Java 8 Class Path页面

  

规格订单

     

指定多个类路径条目的顺序是   重要。 Java解释器将在中查找类   目录按它们出现在类路径变量中的顺序。在   在前面的例子中,Java解释器将首先查找   目录C:\ java \ MyClasses中需要的类。只有当它没有   在该目录中找到一个具有正确名称的类   解释器查看C:\ java \ OtherClasses目录。