无法在Octave中使用Java

时间:2017-08-01 11:22:26

标签: java octave

我在Windows 10上使用Octave 4.2.1。当我输入Octave控制台时:

>> __have_feature__ JAVA
ans = 1

因此启用了java。在Windows上使用命令提示符我发现我有java版本“1.1.0_71”。所以java存在并运行。 但是当我尝试在Octave中调用java函数时,我得到:

cp = javaclasspath
error: unable to find Java Runtime Environment: software\javasoft\java runtime environment::Currentversion

当我输入'java -version'时:

>> java -version
error: 'java' undefined near line 1 column 1

我检查了java的环境变量:

>> getenv JAVA_HOME
ans = C:\Program Files\Java\jdk1.7.0_71

再次,这看起来很好。最后我甚至尝试从头开始安装Octave,但这并没有解决问题。我的猜测是它与'software \ javasoft \ java运行时环境:: CurrentVersion'有关,但我无法弄清楚它是什么。

2 个答案:

答案 0 :(得分:2)

这可能与Octave和您的JRE的位数差异有关。 This post raises同样的问题。通过使Octave位与JRE位相符合来解决这个问题。确保您的Octave安装是64位。

还有值得检查您是否指定了以下变量: enter image description here

答案 1 :(得分:0)

我想您运行的是64位版本的Octave,而您拥有的是64位版本的JDK 11.0.5

在文件octave.vbs中写在行后

Set wshShell = CreateObject( "WScript.Shell" )

线

wshShell.Environment("SYSTEM")("JAVA_HOME") = "c:\program files\java\jdk-11.0.5"

然后将以下注册表行与您的注册表合并

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="11.0.5"

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.5]
"JavaHome"="C:\\Program Files\\Java\\jdk-11.0.5"
"RuntimeLib"="C:\\Program Files\\Java\\jdk-11.0.5\\bin\\client\\jvm.dll"
相关问题