麻烦javaaddpath jar,它似乎加载好,但Matlab里面找不到类…

12个视图(30天)
所以,我试图添加一个WorldWind映射到我的matlab程序,WorldWind是开放源代码的,用java编写的。我想在Matlab中实现这个例子开始
/ *
* (C) 2012年美国版权政府为代表的管理员
*国家航空和空间管理。
*所有权利保留。
* /
进口gov.nasa.worldwind.BasicModel;
进口gov.nasa.worldwind.awt.WorldWindowGLCanvas;
进口javax.swing。*;
/ * *
*这个例子演示了创建一个WorldWind应用程序最简单的方法。
*
* @version美元Id: SimplestPossibleExample。java 1171 2013-02-11 21:45:02Z dcollins美元
* /
公共类SimplestPossibleExample JFrame延伸
{
公共SimplestPossibleExample ()
{
WorldWindowGLCanvas wwd = new WorldWindowGLCanvas ();
女装日报。setPreferredSize(新java.awt。维度(1000,800));
this.getContentPane ()。添加(java.awt.BorderLayout.CENTER wwd);
女装日报。setModel(新BasicModel ());
}
公共静态void main (String [] args)
{
java.awt.EventQueue。在vokeLater(new Runnable()
{
公共空间run ()
{
JFrame帧= new SimplestPossibleExample ();
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.pack ();
frame.setVisible(真正的);
}
});
}
}
要做到这一点在eclipse中我唯一要做的就是添加worldwind。javaclasspath jar。所以,在matlab我试图这样做
函数Plot_World_Wind ()
javaaddpath (“C: \ \ Nellingson \用户文档\程序\ worldwind-v2.1.0 \ worldwind.jar”)
进口gov.nasa.worldwind.BasicModel;
进口gov.nasa.worldwind.awt.WorldWindowGLCanvas;
进口javax.swing。*
h =图;
摩根富林明=得到(h,“JavaFrame”);
摩根富林明= jf.fHG2Client.getWindow;
wwd = gov.nasa.worldwind.awt.WorldWindowGLCanvas ();
wwd.setPreferredSize (java.awt。维度(1000,800));
jf.getContentPane ()。添加(java.awt.BorderLayout.CENTER wwd);
wwd.setModel (BasicModel ());
jf.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
jf.pack ();
jf.setVisible(真正的);
结束
但当进口被调用,worldwindwind内部类。jar得不到发现....
错误:文件:Plot_World_Wind。m:四列:12
参数进口必须结束”。*" or else specify a fully qualified class name: "gov.nasa.worldwind.awt.WorldWindowGLCanvas" fails this
测试。
我双chaecked看到他们其实在jar文件。然后跑javap确保jar文件没有编译的java版本太新。
javap类路径worldwind。jar - verbose gov.nasa.worldwind.awt。WorldWindowGLCanvas |中主要
主要版本:52
我相信这是matlab 2018使用相同的版本。我全新的从matlab调用java。我只有用它遵循的例子相当密切。我猜这里是非常明显,我失踪。后加载worldwind。这样的罐子我已知的类…
[knownjavaclasses, ~ ~] = cellfun (@fileparts [javaclasspath (“动态”);javaclasspath (“静态”)),“uniformoutput”假)
蚂蚁我要找是没有的。任何的想法尝试什么?
2的评论
朱利安
朱利安 2020年11月25日
你好,内森,
相当一个老帖子但我经历相同的问题比R2014b MATLAB缴款更新。我设法使它工作在旧缴款(至少R2012b)。你找到解决这个问题吗?
我认为这可能是由于一个gluegen-rt冲突。jar和jogl-all。jar库与MATLAB现在嵌入式(matlabroot / java / jarext)因为R2014b。而且这些gluegen-rt。jar和jogl-all。jar库依赖worldwind java项目需要本地书店gluegen-rt-natives-linux-amd64(资源)。jar和jogl-all-natives-linux-amd64。jar (linux)。
提前感谢你的帮助!

登录置评。

答案(0)

类别

找到更多的在从MATLAB调用Java帮助中心文件交换

s manbetx 845


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!