来自matlab的HelloWorld.java
尝试从matlab调用此函数来自matlab的HelloWorld.java,java,matlab,Java,Matlab,尝试从matlab调用此函数 package a.b; public class TestFunction { public TestFunction(){ } public static void HelloWorld() { System.out.println("Hello, World"); } } 我编译了它,得到了一个类文件: [idf@localhost b]$ ls TestFunction.class TestFunction.java [idf@localhos
package a.b;
public class TestFunction {
public TestFunction(){
}
public static void HelloWorld() {
System.out.println("Hello, World");
}
}
我编译了它,得到了一个类文件:
[idf@localhost b]$ ls
TestFunction.class TestFunction.java
[idf@localhost b]$ pwd
/home/idf/Documents/java/a/b
[idf@localhost b]$
我在matlab中添加了父目录的路径
javaaddpath('/home/idf/Documents/java/')
如果我尝试导入或调用包,则会出现错误:
>> import a.b
Error using import
Import argument 'a.b' cannot be found or cannot be imported.
如何从matlab
调用java
函数TestFunction.HelloWorld
>> import a.b
Error using import
Import argument 'a.b' cannot be found or cannot be imported.
这告诉Matlab从名为a
的包中导入名为b
的类。要导入包a.b
中的所有类,请执行以下操作:
>> import a.b.*
只导入TestFunction
>> import a.b.TestFunction
参考资料:可能的副本会有所帮助。看起来我正在使用的java版本,java build 1.8.0_151-b12,与matlab中的版本不同:java 1.7.0_60-b19与Oracle Corporation java HotSpot(TM)64位服务器VM混合模式谢谢,加上VIN的上述评论,我能够解决这个问题。我必须1)更改MATLAB_JAVA导出以指向新的OracleJava,javaaddpath到编译类所在的实际目录,然后使用您的帖子。