Jos*_*mon 11 java matlab javac
我正在尝试使用来自Library Compiler(java包)的javac从Matlab代码中提取jar文件.
我已经设置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'.
当我尝试构建C++库时,我遇到了类似的问题:错误:shelling到mbuild时发生错误(错误代码= -1).无法构建可执行文件.
编辑:在我的情况下,是否缺少适当的MCR?
根据此链接中的答案
看来你必须安装 JDK 1.7.0_11-b21,这是你的 MATLAB 版本与编译成 jar 兼容的版本。另外,安装该特定版本后,您应该修改 JAVA_HOME 和 PATH 环境变量。尝试一下看看是否有帮助。
| 归档时间: | 
 | 
| 查看次数: | 4804 次 | 
| 最近记录: |