Java 在Ubuntu上安装RWekajars

Java 在Ubuntu上安装RWekajars,java,r,ubuntu,installation,weka,Java,R,Ubuntu,Installation,Weka,我尝试安装R包“RWekajars”。不幸的是,我收到了以下错误消息: * installing *source* package ‘RWekajars’ ... ** Paket ‘RWekajars’ erfolgreich entpackt und MD5 Summen überprüft Exception in thread "main" java.lang.NoClassDefFoundError: getsp Caused by: java.lang.ClassNotFoundEx

我尝试安装R包“RWekajars”。不幸的是,我收到了以下错误消息:

* installing *source* package ‘RWekajars’ ...
** Paket ‘RWekajars’ erfolgreich entpackt und MD5 Summen überprüft
Exception in thread "main" java.lang.NoClassDefFoundError: getsp
Caused by: java.lang.ClassNotFoundException: getsp
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: getsp.  Program will exit.
./configure: Zeile 50: test: -ge: Einstelliger (unärer) Operator erwartet.
./configure: Zeile 51: test: -eq: Einstelliger (unärer) Operator erwartet.
Need at least Java version 1.5/5.0.
我使用Ubuntu11.04,但在Ubuntu10.10上也有同样的问题

使用刷新R-Java配置

R CMD javareconf
没有帮助

我在两台机器上遇到了问题,一台运行Oracle Java(1.6.026),另一台运行OpenJDK(1.6.0)。因此,错误消息

Need at least Java version 1.5/5.0 
似乎没有道理。另外,只安装了一个java版本。

解决方案(至少对于ubuntu):

打开一个终端并执行

export CLASSPATH=/usr/share/R/share/java
在同一终端窗口中

R
> install.packages("RWekajars")
完成了

如何获得解决方案(如果您正在运行其他操作系统或发行版,这将对您有所帮助):

为了解决这个问题,我首先使用

download.packages("RWekajars")
在configure脚本中,您可以看到R使用

java_version=`${JAVA} getsp "java.version"`
我曾经

locate getsp
并发现:

/usr/share/R/share/java/getsp.class
因此getsp类存在,但R找不到它。这就是为什么我们在执行R之前将CLASSPATH变量设置为/usr/share/R/share/java。这样,R就知道在安装过程中在哪里可以找到getsp程序。如果getsp.class位于另一个目录中,则必须更改export语句中的路径

希望这对某人有所帮助,因为我花了一段时间才弄明白

PS:这个问题在Ubuntu12.04上不会发生-至少目前不会发生。

解决方案(至少对于Ubuntu12.04):

打开一个终端并执行

export CLASSPATH=/usr/share/R/share/java
在同一终端窗口中

R
> install.packages("RWekajars")
完成了

如何获得解决方案(如果您正在运行其他操作系统或发行版,这将对您有所帮助):

为了解决这个问题,我首先使用

download.packages("RWekajars")
在configure脚本中,您可以看到R使用

java_version=`${JAVA} getsp "java.version"`
我曾经

locate getsp
并发现:

/usr/share/R/share/java/getsp.class
因此getsp类存在,但R找不到它。这就是为什么我们在执行R之前将CLASSPATH变量设置为/usr/share/R/share/java。这样,R就知道在安装过程中在哪里可以找到getsp程序。如果getsp.class位于另一个目录中,则必须更改export语句中的路径

希望这对某人有所帮助,因为我花了一段时间才弄明白

PS:这个问题在Ubuntu12.04上并没有发生——至少现在是这样