Can't import Java library jdde in MATLAB

5 visualizaciones (últimos 30 días)
852053843
852053843 el 17 de Jul. de 2012
Respondida: Karthik Wakshe el 4 de Mayo de 2022
I'm trying to use jdde, but I can't access the classes in the jar file from MATLAB:
javaaddpath('C:\jdde\pretty-tools-JDDE-1.0.2.jar')
conversation = DDEClientConversation();
I get the following error:
??? Undefined function or variable 'DDEClientConversation'.
According to the documentation and the many examples I've looked at this should work. How do I use this library in MATLAB? What is my mistake?
Edit:
I tried adding the package to my static class path, but now I get the following error:
>> conversation = com.pretty_tools.dde.client.DDEClientConversation();
Warning: A Java exception occurred trying to load the com/pretty_tools/dde/client/DDEClientConversation class:
Java exception occurred:
java.lang.UnsatisfiedLinkError: no JavaDDEx64 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.pretty_tools.dde.client.DDEClientConversation.<clinit>(DDEClientConversation.java:382)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.mathworks.jmi.OpaqueJavaInterface.findClass(OpaqueJavaInterface.java:470)
??? Undefined variable "com" or class "com.pretty_tools.dde.client.DDEClientConversation".

Respuesta aceptada

Malcolm Lidierth
Malcolm Lidierth el 17 de Jul. de 2012
JavaDDEx64 looks like a shared library/dll which cannot be found. You need to add it to the library path. A quick way, if you have access, is just to put a copy in your matalbroot()/bin/$arch folder ($arch will be macos/win64 etc).
  1 comentario
852053843
852053843 el 17 de Jul. de 2012
Thanks, this was the solution! Since I don't have writing privilege on my matlabroot, I added 'C:\jdde\' to a copy of librarypath.txt that now resides in my startup folder. JavaDDEx64.dll which is located there is now found by MATLAB.

Iniciar sesión para comentar.

Más respuestas (2)

Srikrishnan
Srikrishnan el 14 de Jun. de 2014
I am facing a similar problem. I have a JAR file(fbsc.jar) with two class files. They are both based on another JAR file which I am able to successfully inport and use. When I import the class files of fbsc.jar in JAVA and use it I am able to do it succesfully. However when I do it in MATLAB(2012a) I get the error undefined function or variable.
I have added it in the dynamic path. Still no use. I am not able to figure out what am I doing wrong. I have been stuck on it for days now and still no progress.Any kind of help would be appreciated. Thanks
  1 comentario
Malcolm Lidierth
Malcolm Lidierth el 22 de Jun. de 2014
R2012a uses Java 6 by default. Has fbsc.jar been compiled with a later Java version?

Iniciar sesión para comentar.


Karthik Wakshe
Karthik Wakshe el 4 de Mayo de 2022
Exception in thread "Thread-6": java.lang.UnsatisfiedLinkError: C:\Users\Admin\Desktop\MATLAB\R2022a\bin\win64\nativedmatlab.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.mathworks.toolbox.distcomp.nativedmatlab.NativeMethods.<clinit>(NativeMethods.java:7)
at com.mathworks.toolbox.distcomp.ui.desk.RunBatchJobActionProvider.lambda$initialize$0(RunBatchJobActionProvider.java:58)
at java.lang.Thread.run(Thread.java:748)
I am facing this issue how should i resolve this?

Categorías

Más información sobre Call Java from MATLAB en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by