【发布时间】:2012-02-22 23:03:54
【问题描述】:
我正在尝试部署 JavaFX 应用程序,但是当我在浏览器中运行它时,它似乎无法在外部 jar 文件中找到类。
java.lang.RuntimeException: java.lang.ExceptionInInitializerError
Caused by: java.lang.ExceptionInInitializerError
at common.bo.property.TextAttributeProp.checkLimit(TextAttributeProp.java:125)
我的 lib 文件夹和类路径中有 common.jar。我还在项目属性中使用不受限制的访问。我也知道这个话题JavaFx 2.0 application referencing external jars,但它对我不起作用。 当我从 Netbeans 运行它时,一切正常。但在浏览器中,它不会初始化外部 jar 中的类。请你帮助我好吗。 谢谢
jnlp 文件在这里
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="JavaFXSklad2.jnlp">
<information>
<title>JavaFXSklad2</title>
<vendor>xxx</vendor>
<description>Sample JavaFX 2.0 application.</description>
<offline-allowed/>
</information>
<resources os="Windows">
<jfx:javafx-runtime version="2.0+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/>
</resources>
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="JavaFXSklad2.jar" size="164987" download="eager" />
<jar href="lib/common.jar" size="965131" download="eager" />
<jar href="lib/ifxjdbc.jar" size="705534" download="eager" />
<jar href="lib/infra.jar" size="588915" download="eager" />
<jar href="lib/jdawt.jar" size="726475" download="eager" />
<jar href="lib/toplink.jar" size="1450414" download="eager" />
<jar href="lib/weblogic.jar" size="55582010" download="eager" />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc width="800" height="600" main-class="com.javafx.main.NoJavaFXFallback" name="JavaFXSklad2" />
<jfx:javafx-desc width="800" height="600" main-class="md.MainMenu" name="JavaFXSklad2" />
<update check="background"/>
</jnlp>
编辑>最后我意识到,问题是由这一行的jar中的类中的静态块引起的>
String osName= (String) System.getProperties().get("os.name");
我还尝试使用相同的证书对外部 jar 和 javafx jar 进行签名,但没有成功。
【问题讨论】:
-
能否请您添加 NetBeans 为您的 JavaFX 项目生成的
.jnlp文件。
标签: exception jar javafx javafx-2