我在项目中使用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
那么,我怎样才能选择我希望第二类不是第一类?
答案 0 :(得分:0)
假设第二个jar应该总是覆盖第一个jar就像这样就足够了。
java -classpath NER_Recognizer.jar;tagger.jar
来自Java 8 Class Path页面
规格订单
指定多个类路径条目的顺序是 重要。 Java解释器将在中查找类 目录按它们出现在类路径变量中的顺序。在 在前面的例子中,Java解释器将首先查找 目录C:\ java \ MyClasses中需要的类。只有当它没有 在该目录中找到一个具有正确名称的类 解释器查看C:\ java \ OtherClasses目录。