【问题标题】:Can't import java libraries with matlab无法使用matlab导入java库
【发布时间】:2014-02-28 20:09:17
【问题描述】:

我正在运行一个使用 java 中的 LinkedList 类的 matlab 函数。但是当我运行脚本时,出现以下错误:

Undefined function or variable 'LinkedList'.

 Error in (line 6)
 Q = LinkedList();

在代码的开头,我执行以下操作

import java.util.LinkedList
Q = LinkedList();

我认为 matlab 没有创建 java 库文件。 Java 已安装在我的计算机上,如我的 linux 机器上的以下命令所示:

update-java-alternatives -l
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64

我正在使用命令行matlab。

我错过了什么?

【问题讨论】:

  • 在您的计算机上安装 JRE 是不够的。您的项目是否有指向 JRE 或 JDK 的内容将其添加到类路径中?是否还有其他 Java 对象被看到?
  • @mad:大多数 matlab 版本都带有自己的 JRE。 version -java 的输出是什么?验证此 JRE 版本是否包含 LinkedList。您使用的是哪个 Matlab 版本?
  • @Daniel >> version -java ans = Java is not enabled 我的版本是matlab 2012a
  • @BrianC 我的项目没有指向任何地方,我应该使用 javaaddpath 还是什么?
  • @Daniel 在我的 linux shell 上,$ java -version java version "1.6.0_27" OpenJDK 运行时环境 (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4) OpenJDK 64 -Bit Server VM(build 20.0-b12,混合模式)

标签: java matlab


【解决方案1】:

Matlab 2012a 与 Java 6 JRE 捆绑在一起。除非您需要更新的 Java(似乎并非如此),否则我强烈建议您使用这个 Java 版本。使 Java 可用:

  • 在命令行中检查启动 Matlab 的启动器。确保未设置 -nojvm。
  • 确保java是可执行的,java位于matlab目录matlab/sys/java/jre/glnxa64
  • 如果前面的两个步骤都没有帮助,请尝试使用完整的桌面 matlab。桌面需要 java,在这里您可能会收到一些有用的错误消息。
  • 错误也可能是由于安装过程无效(例如复制/移动 matlab 而不设置环境),例如环境变量 MATLAB_JAVA 可能丢失。如果是这种情况,请使用官方安装程序重新安装 matlab。

【讨论】:

  • 我的问题已解决,因为在我通过别名命令调用 matlab 之前,在此别名中设置了 -nojvm。另外,我必须将环境变量 MATLAB_JAVA 设置为您建议的目录,方法是在 matlab 内部使用 setenv 并在 matlab 外部导出。谢谢。
猜你喜欢
  • 2020-11-10
  • 2016-08-14
  • 2022-06-22
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多