JavaFX 8 JNLP打包:类路径问题

时间:2015-05-01 12:34:30

标签: java maven javafx-8 embedded-resource jnlp

我尝试将我的应用程序打包为Web Start ZenJava plugin for Maven

mvn -pl XXX com.zenjava:javafx-maven-plugin:web -DskipTests -DmainClass=XXX.Main -Dproject.organization.name=XXX -DkeystoreAlias=selfsigned -DkeyStorePassword=XXX -DallPermissions=true -DkeyStore=./keystore.jks

这会产生以下工件:

/lib
XXX-jfx.jar
XXX.html
XXX.jnlp

如果我从jar启动我的应用程序,一切都按预期工作,但如果我启动jnlp,我会得到一个NPE regarding the Location like the one in this topic

我用来阅读所需资源的是

Thread.currentThread().getContextClassLoader().getResource("relative/path/from/package/root")

尝试了在链接主题中描述的加载它的所有不同方法,但没有成功。我错过了什么?工作罐是不是意味着我的课程加载是正确的?这也是JNLP的重要组成部分。

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="XXX-0.0.1.jnlp">
  <information>
    <title>Sample JavaFX Application</title>
    <vendor>XXX</vendor>
    <description>Sample JavaFX 2.0 application.</description>
    <offline-allowed/>
  </information>
  <resources>
    <jfx:javafx-runtime version="8.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="xxx-jfx.jar" size="44875" download="eager" />
    <!-- Bunch of other jars here -->
  </resources>
  <applet-desc  width="800" height="600" main-class="com.javafx.main.NoJavaFXFallback"  name="XXX-0.0.1" >
    <param name="requiredFXVersion" value="8.0+"/>
  </applet-desc>
  <jfx:javafx-desc  width="800" height="600" main-class="XXX.Main"  name="XXX-0.0.1" />
  <update check="background"/>
</jnlp>

如果您需要更多信息,请与我们联系。

提前致谢。

0 个答案:

没有答案