2

我远非 Java 专家,所以请多多包涵。:)

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

我正在处理一个尝试通过 Java Web Start 部署我们的应用程序的项目。我能够让“HelloWorld”应用程序工作,但不是我们的项目。我认为问题出在我的 jnlp 文件中的资源标签上,但我不确定。

在我的第一次尝试中,JNLP 加载器说它找不到 log4j 库,即使它在指定的位置。我的技术负责人说问题可能是 Java 实际上在寻找其他 jar 文件,但只抛出 log4j 错误,因为它是应用程序的第一步。我将所有 jars 添加到资源部分,现在加载器关闭,根本没有给出任何消息。(你可以在这里试试 - 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>
4

1 回答 1

3

我需要列出资源中的每个 jar 文件吗?

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

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

我是否还需要包含类的标签?如果是这样,我需要为它们创建一个 jar 文件,还是单独链接它们?

JWS 不能部署松散的类文件,它们需要在一个 Jar 中。

我试着震慑他们,但这可能是错误的方法。

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

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

不是马上。使用JaNeLA验证 JNLP并确保将Java 控制台配置为在启动时显示。

于 2013-02-13T17:37:40.070 回答