我正在使用 JRI 在 Jboss(Java 应用程序服务器)中运行 R 脚本。在 R 脚本中,我调用了一个 Java 类。
因此,这就是我所拥有的:
JBoss 中的 Java 程序 --> 调用 JRI 并运行 R 脚本 --> 调用 Java 程序。
当我尝试在 JRI 中运行以下脚本时:
s <- .jnew("java/lang/String", "Hello World")
print(s)
程序运行,但抛出以下异常:
12:18:16,786 错误 [stderr] (http-localhost-127.0.0.1-8080-1) java.lang.NoClassDefFoundError: RJavaClassLoader
org.rosuda.JRI.Rengine.rniEval 的 12:18:16,786 错误 [stderr] (http-localhost-127.0.0.1-8080-1)(本机方法)
12:18:16,786 错误 [stderr] (http-localhost-127.0.0.1-8080-1) 在 org.rosuda.REngine.JRI.JRIEngine.eval(JRIEngine.java:281)
12:18:16,802 错误 [stderr] (http-localhost-127.0.0.1-8080-1) 在 org.rosuda.REngine.REngine.parseAndEval(REngine.java:102)
12:18:16,803 错误 [stderr] (http-localhost-127.0.0.1-8080-1) 在 org.rosuda.REngine.REngine.parseAndEval(REngine.java:108)
第一次运行 rJava 语句时,我得到了异常。从那以后,它几乎可以正常工作了,主要问题是环境不稳定,我不时看到很多异常。
我知道可以从 JRI 中运行 rJava,但是在 Jboss 这样的应用程序服务器中,而不是普通的 Java 对象中是否可以?