use java classes in matlab
1 view (last 30 days)
Show older comments
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 Comment
Accepted Answer
Richard Alcock
on 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.
More Answers (1)
Neha
on 21 May 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.
0 Comments
See Also
Categories
Find more on Java Package Integration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!