【发布时间】:2014-07-22 17:02:38
【问题描述】:
您好,我目前正在为我的 java 项目使用 Eclipse Kepler。
我想使用 Octave(开源的 MatLab)进行计算。因此,我尝试使用 javaoctave (https://kenai.com/projects/javaoctave) 来帮助我在 java 中进行计算。但是,当我想编译我的代码时,出现以下错误:
Exception in thread "main" dk.ange.octave.exception.OctaveIOException: java.io.IOException: Cannot run program "octave": error=2, No such file or directory
at dk.ange.octave.exec.OctaveExec.<init>(OctaveExec.java:102)
at dk.ange.octave.OctaveEngine.<init>(OctaveEngine.java:65)
at dk.ange.octave.OctaveEngineFactory.getScriptEngine(OctaveEngineFactory.java:49)
at learn.CapabilityLearner.connectOctave(CapabilityLearner.java:72)
at learn.CapabilityLearner.connect(CapabilityLearner.java:37)
at learn.CapabilityLearner.<init>(CapabilityLearner.java:24)
at learn.capability.CapabilityMeanVarianceEquation.<init>(CapabilityMeanVarianceEquation.java:10)
at parse.basketball.runner.GetPlayerFrequency.learnSynergyGraph(GetPlayerFrequency.java:102)
at parse.basketball.runner.GetPlayerFrequency.main(GetPlayerFrequency.java:94)
Caused by: java.io.IOException: Cannot run program "octave": error=2, No such file or directory
at java.lang.ProcessBuilder.processException(ProcessBuilder.java:478)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:457)
at java.lang.Runtime.exec(Runtime.java:593)
at dk.ange.octave.exec.OctaveExec.<init>(OctaveExec.java:100)
... 8 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:91)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 10 more
这个 java 项目已经在带有 Eclipse Kepler 的 Windows 机器上成功运行,所以我认为不是我拥有的代码包含错误。 wiki 提到了错误并给出了一些解释。但是,由于我缺乏编程经验,我无法理解解决方案的含义。谁能帮我找出问题并教我如何解决这个问题?
非常感谢! :)
PS:项目的.classpath如下:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="matlabcontrol-4.0.0.jar"/>
<classpathentry kind="lib" path="javaoctave-0.6.4.jar" sourcepath="javaoctave-0.6.4.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="commons-math-2.2.jar"/>
<classpathentry kind="lib" path="commons-logging-1.1.3.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
【问题讨论】:
-
另外它说找不到源,但我认为这是因为我使用了编译的 jar 文件,所以我无法查看源代码。但我认为这不是导致此错误的原因。
-
项目文件夹中的 .classpath 文件中有什么内容? (编辑您的问题并将其放在那里)
-
@Kyllopardiun 我已经添加了 .classpath 文件