我远离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>
答案 0 :(得分:3)
我是否需要在资源中列出每个jar文件?
不一定。后来的JWS启动允许我们指定一个包含主类&amp;的Jar。指定主类和所有依赖Jars 的清单。 OTOH我发现明确列出每个Jar更容易,更清晰。
我是否还需要为类添加标签?如果是这样,我是否需要为它们创建一个jar文件,或者只是单独链接它们?
JWS无法部署松散的类文件,它们需要在Jar中。
我试过刺激它们,但这可能是错误的做法。
这是唯一可行的方法。坚持下去。
你知道为什么加载器在没有任何消息的情况下关闭吗?
不是立即。使用JaNeLA&amp;来验证JNLP确保Java Console配置为在启动时显示。