Запуск main из java .class в MATLAB с сопровождающим файлом кодека .jar - PullRequest
0 голосов
/ 29 января 2019

У меня есть основной метод для запуска из Java-класса в Matlab.Некоторые из методов, используемых в файле классов Java, находятся в файле .jar.

Мой javaclasspath.txt выглядит следующим образом:

C:\***\somefolder\commons-codec-1.7.jar
C:\***\somefolder

Файл X.class является папкой somefolder вместе с файлом commons-codec-1.7.jar, которыйон требует запуска.

Моя версия Matlab Java имеет следующий вид:

'Java 1.8.0_201-b09 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode'

с переменной среды MATLAB_HOME, указывающей на:

'C:\Program Files\Java\jdk1.8.0_201\jre'

Сценарий java .class былскомпилирован с использованием этого SDK.

Мой код MATLAB:


import commons-codec-1.7.*
o = 'X'
javaMethod('main',o,'')

, который выводит эту ошибку:


Java exception occurred:
java.lang.NoSuchMethodError:
org.apache.commons.codec.binary.Base64.encodeBase64String([B)Ljava/lang/String;

    at X.main(X.java:28)

Какой из моего пониманияВ результате MATLAB не удалось найти необходимые методы в 'commonds-codec-1.7.jar'.Как это исправить.

Спасибо

1 Ответ

0 голосов
/ 30 января 2019

Я заставил его работать.

Решением было изменить javaclasspath.txt на:

 <before> C:\***\somefolder\commons-codec-1.7.jar
 C:\***\somefolder

Это заставляет commons-codec-1.7.jar переопределить commons-codec.jar, который был в статических путях по умолчанию моей установки MATLAB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...