我正在使用 javaaddpath 命令在我的 matlab projet(由我开发)中使用一个外部 jar(由我开发)。
我已经将我的编程环境从 Matlab r2011a 更新到 r2012b,jdk 从 1.6.0_29 更新到 1.7.0_09,windows 从 XP 更新到 7。
首先我没有重新编译我的 jar 文件,我的整个项目仍在工作(运行没有错误)。
但是现在,我正在尝试重新编译我的 jar 文件。我对此有一些问题,但它解决了(请参阅:javac @<opiton_file> 和 encoding)。但是现在我的jar工具重建了,不能用到matlab里面了……matlab显示错误:
Undefined variable "optimizer" or function "optimizer.Gui".
其中 optimizer 是一个包(即 jar 文件中的一个目录,包含 Gui 类的目录)。
总而言之,我正在使用代码(最后一行必须弹出一个 JFrame):
javaaddpath('the full path of my jar file.jar');
optimizer.Gui;
无需更新 jar 文件的编译版本,它就可以工作。使用新版本(相同源代码),matlab输出错误。
我在 jar 文件的根目录中有一个 Main 类(包含一个 main 函数)和一个清单,将这个 Main 类指定为主类。这个 Main 类进行一些测试,以确保 jar 文件中的所有功能都正常工作。所以我可以运行 java -jar my_jar_file.jar 并看到所有测试都正常(其中一个测试显示了我的优化器.Gui)。
javac版本和matlab不兼容吗?是不是因为我在文件编码方面遇到了一些问题?...