Why does my compiled application not locate a MATLAB built-in Java class with MATLAB Compiler 4.0 (R14)?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I created an application and then compiled it with MATLAB Compiler. I am modifying the dynamic Java classpath in my MATLAB code using javaclasspath as follows:
javaclasspath('/usr/oracle/jdbc/classes12.jar')
My application works fine in MATLAB and on the development machine, but when I execute it on the deployed machine with the MCR, I receive the following error.
??? Undefined variable "com" or class "com.mathworks.toolbox.database.databaseConnect".
Error in ==> database.database at 78
Error in ==> testdb at 3
MATLAB:undefinedVarOrClass
Akzeptierte Antwort
MathWorks Support Team
am 22 Jan. 2010
MATLAB Compiler uses the dynamic class path to reference JAR files used by any toolbox functions used in your application. This is because the MATLAB Compiler Runtime (MCR) only includes the base MATLAB functions, so JAR-files associated with individual toolboxes are packaged in the CTF-file. When executing the application in MATLAB, these JAR-files are on the static Java classpath, while in compiled applications they are on the dynamic classpath.
If your application needs to modify the Java classpath, you should retain any entries in the existing classpath and add the new paths. You can do this using the JAVAADDPATH function. For example:
javaaddpath('/usr/oracle/jdbc/classes12.jar')
This will prepend the directory to the dynamic classpath, leaving intact any JAR-files automatically added to the dynamic path by MATLAB Compiler.
For more information on JAVAADDPATH execute the following command at the MATLAB command prompt
doc javaaddpath
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Manage Products finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!