【发布时间】:2011-10-08 16:17:58
【问题描述】:
我正在使用 Netbeans 7 开发 JavaFx 2.0 应用程序。 主应用程序引用另一个通过右键单击“库”文件夹并选择“添加项目...”添加的类库项目。从 netbeans 执行应用程序工作正常。
通过“清理并构建”将其部署到 jar 文件并尝试通过控制台执行它时
java -jar TestApp.jar
我明白了
Exception in thread "JavaFX-Launcher" java.lang.NoClassDefFoundError: net/pmoule/SomeClass
...
我的应用程序的 dist/lib 文件夹包含引用的库。所以恕我直言,一切都应该没问题。查看包含在我的应用程序 jar 中的 Manifest.MF 我得到了这个
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_23-b05 (Sun Microsystems Inc.)
Implementation-Vendor: pmoule
Implementation-Title: TestApp
Implementation-Version: 1.0
Main-Class: com/javafx/main/Main
JavaFX-Application-Class: testapp.TestApp
JavaFX-Version: 2.0
我的课程路径在哪里?如何让 Netbeans 添加正确的类路径?
我尝试通过编辑 jar 中包含的手动将其添加到 Manifest.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_23-b05 (Sun Microsystems Inc.)
Implementation-Vendor: pmoule
Implementation-Title: TestApp
Implementation-Version: 1.0
Class-Path: lib/MyLib.jar //THIS IS NEW
Main-Class: com/javafx/main/Main
JavaFX-Application-Class: testapp.TestApp
JavaFX-Version: 2.0
没有成功,同样的错误。
JavaFX 2.0 SDK 提供的所有示例都可以通过在 WindowsExplorer 中双击或从控制台输入例如来工作
java -jar PathAnimation.jar
但这些示例中没有任何一个引用了外部 jar。
一些研究让我想到了这个问题:Netbeans JavaFX 2.0 Application 但目前还没有任何解决方案。
感谢您的帮助!
【问题讨论】:
-
更新:为了满足Oracle列出的要求,我将平台更改为JDK 6_26;我将此行添加到项目的 jfx-impl.xml
<attribute name="Class-Path" value="${jar.classpath}"/>中的 fxjar-task 中。现在类路径包含在 manifest.mf 中。错误还是一样的:(
标签: javafx-2