Java Web Start - JNLP资源 - 罐子和类?

时间:2013-02-13 17:20:02

标签: java jnlp java-web-start

我远离Java专家,所以请耐心等待。 :)

我也用Google搜索并阅读了三天的文档,但这对我来说仍然不清楚,所以请不要投票给我。 :)

我正在尝试通过Java Web Start部署我们的应用程序的项目。我可以使用“HelloWorld”应用程序,但不是我们的项目。我认为问题出在我的jnlp文件中的resouces标签,但我不确定。

在我第一次尝试期间,JNLP加载程序表示它无法找到log4j lib,即使它位于指定位置。我的技术主管说问题可能是Java实际上正在寻找其他jar文件,但只抛出log4j错误,因为它是应用程序的第一步。我将所有的jar添加到资源部分,现在加载器关闭而根本没有给出任何消息。 (您可以尝试一下 - http://www.powellportfolio.net/test/webstarttest/Match.jnlp

我是否需要在资源中列出每个jar文件?

我是否还需要为类添加标签?如果是这样,我是否需要为它们创建一个jar文件,或者只是单独链接它们?我试着刺激它们,但这可能是错误的方法。

你知道为什么加载器在没有任何消息的情况下关闭吗?

你还有其他建议吗?

继承我的jnlp文件:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://www.powellportfolio.net/test/webstarttest/" href="Match.jnlp">
    <information>
        <title>Jnlp Testing</title>
        <vendor>My Company</vendor>
        <homepage href="http://www.powellportfolio.net/test/webstarttest/" />
        <description>Testing Testing</description>
                                <offline-allowed/>
    </information>
    <resources>
        <j2se version="1.6+" />
        <jar href="Match.jar" />
                                <jar href="Match_lib/commons-cli-1.2.jar" />
        <jar href="Match_lib/dcm4che-audit-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-base64-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-core-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-filecache-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-hp-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-image-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-imageio-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-imageio-rle-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-iod-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-net-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-soundex-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcm2dcm-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcm2jpg-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcm2txt-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcm2xml-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmdir-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmecho-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmgpwl-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmhpqr-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmmv-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmmwl-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmof-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmqr-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmrcv-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmsnd-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmups-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-dcmwado-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-fixjpegls-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-jpg2dcm-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-logger-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-pdf2dcm-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-rgb2ybr-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-txt2dcmsr-2.0.26.jar" />
        <jar href="Match_lib/dcm4che-tool-xml2dcm-2.0.26.jar" />
        <jar href="Match_lib/derby.jar" />
        <jar href="Match_lib/derbyclient.jar" />
        <jar href="Match_lib/derbyLocale_cs.jar" />
        <jar href="Match_lib/derbyLocale_de_DE.jar" />
        <jar href="Match_lib/derbyLocale_es.jar" />
        <jar href="Match_lib/derbyLocale_fr.jar" />
        <jar href="Match_lib/derbyLocale_hu.jar" />
        <jar href="Match_lib/derbyLocale_it.jar" />
        <jar href="Match_lib/derbyLocale_ja_JP.jar" />
        <jar href="Match_lib/derbyLocale_ko_KR.jar" />
        <jar href="Match_lib/derbyLocale_pl.jar" />
        <jar href="Match_lib/derbyLocale_pt_BR.jar" />
        <jar href="Match_lib/derbyLocale_ru.jar" />
        <jar href="Match_lib/derbyLocale_zh_CN.jar" />
        <jar href="Match_lib/derbyLocale_zh_TW.jar" />
        <jar href="Match_lib/derbynet.jar" />
        <jar href="Match_lib/derbyrun.jar" />
        <jar href="Match_lib/derbytools.jar" />
        <jar href="Match_lib/log4j-1.2.16.jar" />
        <jar href="Match_lib/slf4j-api-1.6.1.jar" />
        <jar href="Match_lib/slf4j-log4j12-1.6.1.jar" />
        <jar href="classes/classes.jar" />
    </resources>                
    <application-desc main-class="gui.GUIMatch" />
</jnlp>

1 个答案:

答案 0 :(得分:3)

  

我是否需要在资源中列出每个jar文件?

不一定。后来的JWS启动允许我们指定一个包含主类&amp;的Jar。指定主类和所有依赖Jars 的清单。 OTOH我发现明确列出每个Jar更容易,更清晰。

  • 它以人类可读的形式声明资源(如果您认为JNLP是'人类可读的')。
  • 它允许一些Jars懒惰地或以编程方式加载。如果在清单中列出,则会急切地下载Jar。
  

我是否还需要为类添加标签?如果是这样,我是否需要为它们创建一个jar文件,或者只是单独链接它们?

JWS无法部署松散的类文件,它们需要在Jar中。

  

我试过刺激它们,但这可能是错误的做法。

这是唯一可行的方法。坚持下去。

  

你知道为什么加载器在没有任何消息的情况下关闭吗?

不是立即。使用JaNeLA&amp;来验证JNLP确保Java Console配置为在启动时显示。