use java classes in matlab

5 visualizzazioni (ultimi 30 giorni)
Michael
Michael il 20 Apr 2011
It should be pretty straightforward to get java classes working in matlab but I can't seem to do it...
I want to use functions from HttpClient ( http://hc.apache.org/httpcomponents-client-ga/ ) in my matlab program. I have put the 6 .jar files in the static (also tried dynamic) java path and restarted matlab but I can't call the functions.
I don't have experience with programming in java so it could be that I am making a mistake with my syntax.
Could somebody explain what I have to type in matlab exactly to call the functions?
Thank you very much!
  1 Commento
Jarrod Rivituso
Jarrod Rivituso il 20 Apr 2011
Could you share with us the code that you have tried?

Accedi per commentare.

Risposta accettata

Richard Alcock
Richard Alcock il 27 Apr 2011
Try the following:
% Generate the list of jar files
jarDirectory = 'C:\Temp\httpcomponents-client-4.1.1\lib';
dirResult = dir([jarDirectory, filesep, '*.jar']);
jars = cellfun( @(name)fullfile(jarDirectory, name), ...
{dirResult.name}, 'UniformOutput', false );
% Add jars to the dynamic classpath
javaaddpath( jars );
% Check classpath
javaclasspath('-dynamic')
% Quick test that we can use classes from the library
httpclient = org.apache.http.impl.client.DefaultHttpClient()
Since the classes are added to the dynamic classpath, it is not persisted between restarts of MATLAB.
  1 Commento
Michael
Michael il 29 Apr 2011
This really did the trick. Thank you very much!

Accedi per commentare.

Più risposte (1)

Neha
Neha il 21 Mag 2011
Hey Richard,
I have written a Java program which should be invoked Matlab. I followed ur comments at link: http://www.mathworks.com/matlabcentral/answers/6923-calling-a-java-class-from-matlab Yet I'm not very clear about it. I have this simple HelloWorld program of Java:
class HelloWorld
{
public String Hello()
{
String helloWorld="Hello World!";
return helloWorld;
}
public static void main(String s[])
{
String helloWorld="Hello World!";
}
}
I wish to invoke use this reutned value of string further in matlab.
Plz help, how to invoke this.

Community Treasure Hunt

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

Start Hunting!

Translated by