我正在開發一個項目,我希望在Matlab中調用Java程序。 Java程序的示例結構如下:在MATLAB中調用java類文件(使用jar文件和其他類文件)
mainproj
/ | \
src lib bin
/\ /\
a b ac bd
文件夾「lib」包含jar文件。文件夾ac和bd有java的類。文件夾a和b有java文件+其他一些類文件。我希望在文件夾a下運行一個名爲「launcher.java」的java文件,它使用jar文件並調用文件夾b中的java程序,文件夾ac中有launcher.class文件。
我很困惑如何成功地調用這個程序。我在網上發現了一些解決方案,但他們不適合我。 Calling Java from MATLAB?, Calling Java from MATLAB,Is it worth to call java from matlab?,Calling Java from Matlab is very slow。
的launcher.java文件如下:
package ac;
import....
public class launcher
{
....
....
public static void main(String[] args) { run();}
public static void run() {......}
}
我進行什麼如下:
javaaddpath('mainproj\lib\x.jar')
javaaddpath('mainproj\bin\ac')
import mainproj.*;
import mainproj.lib.*;
import mainproj.bin.*;
import mainproj.bin.ac.*;
import mainproj.bin.bd.*;
l = launcher;
javaMethod('main', l);
[我要叫主launcher.class的文件夾中自動調用run()方法和run()調用文件夾bd中的其他類文件]
我得到的輸出錯誤是:No class launcher can be located or no methods for class
任何建議/幫助表示讚賞。
您是否驗證過,您可以直接從命令行運行Java程序,在相同的目錄中以及您希望Matlab使用的相同設置? – dimo414
@ dimo14是啊!我已經檢查過這一切。我在一個目錄中檢查了一個簡單的程序,正在工作,但上面提到的不起作用。 – user24094
您可以將您運行的命令行添加到您的問題中嗎?我有一個理論,但需要知道如何成功地運行它。 – dimo414