opennlp.groovy具有NullPointerException
我试图从GitHub获得以下代码片段,以便在Groovy脚本中使用OpenNLP工具 (来自的OpenNLP类) 尝试运行脚本时出现以下错误:opennlp.groovy具有NullPointerException,groovy,opennlp,Groovy,Opennlp,我试图从GitHub获得以下代码片段,以便在Groovy脚本中使用OpenNLP工具 (来自的OpenNLP类) 尝试运行脚本时出现以下错误: Caught: java.lang.ExceptionInInitializerError java.lang.ExceptionInInitializerError at Greetings.class$(Greetings.groovy) at Greetings.$get$$class$OpenNLP(Greetings.groov
Caught: java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at Greetings.class$(Greetings.groovy)
at Greetings.$get$$class$OpenNLP(Greetings.groovy)
at Greetings.run(Greetings.groovy:13)
Caused by: java.lang.NullPointerException: Cannot invoke method withInputStream() on null object
at OpenNLP.<clinit>(Greetings.groovy:25)
... 3 more
捕获:java.lang.ExceptionInInitializeError
java.lang.ExceptionInInitializeError
在Greetings.class$(Greetings.groovy)
在问候语中。$get$$class$OpenNLP(问候语.groovy)
at Greetings.run(Greetings.groovy:13)
原因:java.lang.NullPointerException:无法调用null对象上的withInputStream()方法
在OpenNLP。(问候。groovy:25)
... 3个以上
我将en-token.bin和en-pos-maxent.bin放在脚本要查找的正确位置,但是classLoader.getResource(“opennlp/en-token.bin”)在打印时确实为null。有什么想法吗?确保
en-token.bin
和en-pos-maxent.bin
文件位于名为opennlp
的目录中,并且类路径包括opennlp
的父目录
请注意,执行Groovy脚本时,
/
包含在类路径中,因此,如果您的opennlp
目录与Groovy脚本位于同一目录中,并且您在该目录中时也调用了Groovy脚本,那么它应该可以工作(至少对我来说是这样)。但是,如果您在当前不在该目录下的情况下执行脚本(例如,通过使用类似path/to/script.groovy
)的路径),它将无法工作。在这种情况下,您可以使用groovy-cp path/to path/to/script.groovy
调用它,从而手动将opennlp
目录的父目录放入类路径。如果不使用抓取,而是手动将所需的jar放在类路径上,是否有效?我的回答有用吗?
Caught: java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at Greetings.class$(Greetings.groovy)
at Greetings.$get$$class$OpenNLP(Greetings.groovy)
at Greetings.run(Greetings.groovy:13)
Caused by: java.lang.NullPointerException: Cannot invoke method withInputStream() on null object
at OpenNLP.<clinit>(Greetings.groovy:25)
... 3 more