Я пытаюсь извлечь файл jar из кода Matlab с помощью javac из Библиотечного компилятора (пакет java).
Я установил JAVA_HOME
в:
C:\Program Files\Java\jdk1.7.0_71
и добавлен в PATH
:
C:\Program Files\Java\jdk1.7.0_71\bin
.
Когда я ввожу java -version
в свою консоль, я получаю java version jdk1.7.0_71
и запускаю javac -version
показывает jdk1.7.0_71
.
Однако, похоже, что matlab не смог найти javac, поэтому я не могу скомпилировать свой код .m
в файл .jar
. Когда я попытался скомпилировать код .m, я получил следующее:
Error: An error occurred while shelling out to javac (error code = -1).
Unable to build executable.
Executing command: ""C:\Program Files\Java\Java\jdk1.7.0_11\bin\javac" -verbose - classpath "...\MATLAB\R2014a\toolbox\javabuilder\jar\javabuilder.jar" -d "...\features_extraction\for_testing\classes" "...\features_extraction\for_testing\features_extraction\Class1.java" "...\features_extraction\for_testing\features_extraction\Features_extractionMCRFactory.java" "...\for_testing\features_extraction\Class1Remote.java" "...\for_testing\features_extraction\package-info.java""
Это каталог моей папки java bin и javac.exe существует: ...\Java\jdk1.7.0_71\bin\bin\javac
? Я нашел эту ссылку для совместимости между Java и Matlab2014a (это моя версия) здесь. Что я должен проверить, чтобы правильно связать Matlab с Java? Несколько дней назад Matlab корректно работал с Java.
В моем PATH
я заметил существование следующего пути: C:\ProgramData\Oracle\Java\javapath
, в котором есть три неправильных ярлыка для java.exe, javac.exe и javax.exe. Когда я набираю консоль matlab getenv JAVA_HOME
, я получаю C:\Program Files\Java\jdk1.7.0_11
, а когда писал version -java
, я получил: Java 1.7.0_11-b21 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
. Когда я пишу javac
в консоли matlab, я получаю: Undefined function or variable 'javac'.
Когда я пытаюсь создать С++-библиотеку, у меня возникла аналогичная проблема: Ошибка: произошла ошибка при обстреле mbuild (код ошибки = -1). Не удалось создать исполняемый файл.
РЕДАКТИРОВАТЬ: В моем случае считается отсутствие соответствующего MCR?