java - 美国宇航局世界风 : How do you fix these weird run time exceptions?

标签 java configuration runtime worldwind

Nasa Worldwind SDK 有一些我希望运行的例子。我尝试通过两种方式运行 SDK 中提供的示例:

  1. 使用整个 SDK 源文件夹创建一个 Eclipse 项目。
    • 指向所有 worldwind 依赖项(*.jar 和 *.dll 文件)
    • 转到包含示例的文件夹:src\gov\nasa\worldwind\examples。
    • 运行示例 ApplicationTemplate.java main。
  2. 创建一个空的 Eclipse 项目。
    • 指向所有 worldwind 依赖项(*.jar 和 *.dll 文件)
    • 指向worldwind.jar
    • 然后将示例文件夹复制到我的 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项目步骤:

  1. 创建一个新的 Eclipse 项目(空白 项目很好,只要有 src 文件夹)
  2. 在此目录下创建lib文件夹 项目(在根目录下 项目文件夹)
  3. 将所需的库和 DLL 放入 lib 文件夹:gluegen-rt.jar, jogl.jar, worldwind.jar, jogl.dll, gluegen-rt.dll, jogl_awt.dll, jogl_cg.dll
  4. 复制示例 HelloWorlWind.java 进入src文件夹
  5. lib 文件夹中的所有 JAR 添加到 Referenced Libraries 树 右键单击每个 jar ,然后 选择 Build Path > Add to Build 路径
  6. 右键单击 jogl.jar Referenced Libraries 树和 选择 Build Path > Configure Build 路径。会弹出Properties 对话框
  7. Properties 对话框中,转到 Libraries 选项卡 并展开 jogl.jar
  8. 选择 本地库位置 和 单击右侧的 Edit 按钮。它 将弹出 Native Library 文件夹 配置对话框。
  9. lib 文件夹设置为位置 单击 Workspace... 的路径 按钮。

然后,运行 HelloWorlWind.java。它将无一异常(exception)的展现出辉煌的世风大地!

请注意:一些 Worldwind 示例应用程序不会在您关闭 GUI 窗口后终止 JVM。

要使 ApplicationTemplate.java 正常工作,请确保复制所需的依赖项:

  • ClickAndGoSelectListener.java
  • LayerPanel.java

关于java - 美国宇航局世界风 : How do you fix these weird run time exceptions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5652649/

相关文章:

java - 标准化不能解决 Fortify 错误

java - 如何在其他模块的源集中添加 proto 生成的文件?

java - Kafka 消费者分配返回空集

perl - 所有 CPAN 镜像都不能在 CPAN 配置中工作?

objective-c - 如何在运行时删除 Objective-C 2.0 中的实例方法?

java - 将 Joda 日期与用户名结合作为单个变量进行加密

javascript - 当最后一个点在当前 X 轴最小值之前并且下一个点在当前 X 轴最大值之后时,highcharts 不显示线条

django - 访问 AppConfig 成员

python - 这两个代码块(如果有)的时间复杂度有什么区别,为什么?

php - 如何在从 php 回显页面接收到的 .post() 输出数据中运行 javascript 函数