无法找到或加载主类Stanford CoreNLP Java
我是java新手(我有java 8),正在尝试在CMD中运行CoreNLP管道:
C:>;java-Xmx5g-edu。斯坦福。nlp。管道StanfordCoreNLP文件dr19ald。txt
并不断得到:
错误:无法找到或加载主类edu。斯坦福。nlp。管道斯坦福德科伦普
我看过类似的帖子,这似乎是一个类路径问题,所以我尝试了以下方法,但没有成功:
C:>;java-cp“C:/stanford-corenlp-4.2.0-models-spanish.jar”edu。斯坦福。nlp。管道StanfordCoreNLP文件dr19ald。txt
我是否添加了错误的类路径,或者我缺少了另一个问题
更新: 我现在试过:
C:>;java-cp“*”教育单元。斯坦福。nlp。管道StanfordCoreNLP文件dr19ald。txt
及
C:>;java-cp“C://*”教育单元。斯坦福。nlp。管道StanfordCoreNLP文件dr19ald。txt
带有相同的错误消息
# 1 楼答案
您是否已将各种jar文件下载到根目录中?这听起来像是一场组织噩梦
如果不是,这就解释了为什么
java -cp "*"
不起作用。您需要找出CoreNLP发行版的子目录,并将其设置为类路径中的目录:例如,如果你是我
如果在Windows计算机上需要多个目录,正确的分隔符是
;
# 2 楼答案
reference for the command line表示应该在类路径中包含多个jar。他们使用所有分布式罐子(*)
根据Java的版本(8或更高),还应该指定modules指令
编辑
我进一步调查了情况,情况相当混乱。 该发行版包括一些第三方库及其JAR格式的源代码。虽然pom中引用了其他库,但它们根本不包括在内。xml(如果你有工具,可以下载)
一个关键问题是,JAXB API/Impl不再是Java 11包的一部分,代码在通往雅加达EE的路上正在经历一些变化。Java8仍然包含一个JAXB实现,尽管发行版中包含了较新的独立文件。代码依赖于类
com.sun.istack.FinalArrayList
,该类不包含在发行版中,但包含在旧的com中。太阳xml。绑定:POM中引用的jaxb核心解决方案
您需要下载实用程序JAR
istack-commons-runtime-3.0.7.jar
(试试https://mvnrepository.com/artifact/com.sun.istack/istack-commons-runtime)。 我把它放在子目录“m2”中,并在脚本中将其引用为REPO我编写了一个Windows cmd脚本来开始处理
我把这个脚本放在解压发行版ZIP的目录中
现在,我可以打开Windows命令提示符,导航到分发目录并启动脚本,将输入文件作为参数传递(脚本中的%1)