问题描述
|
Nasa Worldwind SDK包含一些我希望运行的示例。我试图通过两种方式运行SDK中提供的示例:
使用整个SDK源文件夹创建一个Eclipse项目。
指向所有worldwind依赖项(* .jar和* .dll文件)
转到包含示例的文件夹:src \\ gov \\ nasa \\ worldwind \\ examples。
运行示例ApplicationTemplate.java main。
创建一个空的Eclipse项目。
指向所有worldwind依赖项(* .jar和* .dll文件)
指向worldwind.jar
然后将examples文件夹复制到我的Eclipse项目中。
将列在gov.nasa.worldwind.examples中的所有软件包重构为示例。
运行示例ApplicationTemplate.java main。
当我执行选项(1.)时,我成功编译/运行而没有错误。
当我执行选项(2.)时,我成功编译了,但遇到运行时错误:
Apr 13,2011 12:18:35 PM gov.nasa.worldwind.WorldWind createComponent
SEVERE: Exception while creating World Wind component gov.nasa.worldwind.cache.BasicDataFileStore
Apr 13,2011 12:18:35 PM gov.nasa.worldwind.WorldWind createConfigurationComponent
SEVERE: Unable to create class for configuration key gov.nasa.worldwind.cache.BasicDataFileStore
Exception in thread \"main\" java.lang.ExceptionInInitializerError
at gov.nasa.worldwind.awt.WorldWindowGLCanvas.<init>(UnkNown Source)
at Main2.main(Main2.java:15)
Caused by: java.lang.IllegalStateException: Unable to create class for configuration key gov.nasa.worldwind.cache.BasicDataFileStore
at gov.nasa.worldwind.WorldWind.createConfigurationComponent(UnkNown Source)
at gov.nasa.worldwind.WorldWind.initialize(UnkNown Source)
at gov.nasa.worldwind.WorldWind.<init>(UnkNown Source)
at gov.nasa.worldwind.WorldWind.<clinit>(UnkNown Source)
... 2 more
Caused by: gov.nasa.worldwind.exception.WWRuntimeException: Exception while creating World Wind component gov.nasa.worldwind.cache.BasicDataFileStore
at gov.nasa.worldwind.WorldWind.createComponent(UnkNown Source)
... 6 more
Caused by: java.lang.NullPointerException
at gov.nasa.worldwind.cache.BasicDataFileStore.<init>(UnkNown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(UnkNown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(UnkNown Source)
at java.lang.reflect.Constructor.newInstance(UnkNown Source)
at java.lang.class.newInstance0(UnkNown Source)
at java.lang.class.newInstance(UnkNown Source)
... 7 more
由于许可和配置管理问题,我强烈建议选择选项(2.)。有谁知道如何解决上面看到的这些运行时错误?
解决方法
好的。这些是我在Windows环境下的Eclipse项目步骤:
创建一个新的Eclipse项目(一个空白
只要有项目就可以了
src
文件夹)
在此下创建2ѭ文件夹
项目(在
项目文件夹)
将所需的库和DLL放入
lib
文件夹:gluegen-rt.jar,jogl.jar,worldwind.jar,jogl.dll,gluegen-rt.dll,jogl_awt.dll,jogl_cg.dll
复制样本HelloWorlWind.java
进入the1ѭ文件夹
将lib
文件夹中的所有JAR添加到
by8ѭ树
右键单击每个罐子,然后
选择Build Path > Add to Build
Path
右键点击
Referenced Libraries
树和
选择Build Path > Configure Build
Path
。它将弹出Properties
对话框
在“ 13”对话框中,转到
Libraries tab
展开
jogl.jar
树
选择Native library location
,然后
单击右侧的Edit
按钮。它
将弹出“ 19”对话框。
将“ 2”文件夹设置为位置
单击ѭ21进入路径
按钮。
然后,运行HelloWorlWind.java
。它将毫无例外地显示辉煌的世界风地球!
请注意:关闭GUI窗口后,一些Worldwind示例应用程序不会终止JVM。
为了使ѭ23起作用,请确保复制所需的依赖项:
ClickAndGoSelectListener.java
LayerPanel.java
,完全按照您在选项2中的描述进行操作,我没有问题,它工作正常。使用WorldWind Java源代码的最新下载副本时,应在使用WorldWind.jar文件之前进行Ant Build。 WorldWind.jar文件并不总是最新的,并且在使用时可能导致冲突。
基本上,您从操作中描述的内容是:它在使用源代码时起作用,而在使用编译后的代码时失败。