首页 > 解决方案 > rJava::.jnew 中的错误(“edu.stanford.nlp.pipeline.StanfordCoreNLP”,basename(路径))

问题描述

我想coreNLP在 R 软件中使用“”库。我用的是ubuntu,java版本是11.0.4。

使用过程中出现错误initCoreNLP()

rJava::.jnew("edu.stanford.nlp.pipeline.StanfordCoreNLP", basename(path)) 中的错误:

我试图通过使用dyn.load('/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/server/libjvm.dylib')来解决这个问题

然后删除 rJava 并重新安装。但是,当我dyn.load在 R 中使用时,它给了我这个错误

ibjvm.dylib:无法打开共享对象文件:没有这样的文件或目录

当我尝试使用以下命令检查文件是否存在时

ls /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home

它表明'jre/lib/server/libjvm.dylib'不存在

笔记::

我使用时没有任何问题library(rJava)

另外,我使用该/usr/lib/jvm/java-11-openjdk-amd64/lib/server目录将其导出到 LD_LIBRARY_PATH 因为它有libjvm.so文件

我现在应该怎么做才能解决这个问题????

标签: javarstanford-nlprjava

解决方案


.dylib是 macOS 共享库的扩展。如果您正在使用Ubuntu它将是.so

所以,看起来你有一种混合环境。其实这个布局

/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home

看起来像 macOS 之一。

反正。我建议从头开始。尝试:

  • JavaR使用中配置sudo R CMD javareconf

  • rJava使用 `install.packages('rJava')安装

  • 确保你的Java+R环境。运行良好。我建议在跳到更复杂的东西之前运行简单的代码。例如:

http://www.owsiak.org/running-java-code-in-r/

  • 确保你coreNLP是可见的R- 例如它的JAR文件是CLASSPATH

推荐阅读