我是新来的,我为我糟糕的英语道歉。
我对由 Java Web Start 技术提供的 Applet 类有一点问题。我有一些 Web Start 正确下载的依赖于平台的 JAR 文件,但是当我通过对象的getResourceAsStream(String fileName)方法获取内容时ClassLoader,首先向 WEB 服务器发出 GET 请求fileName,收到404 Not Found响应后,从 JAR 文件中正确加载资源。问题是我在 JAR 中有很多文件,所以我在 WEB 服务器上有很多不必要的负载,因此我必须等待很长时间才能使用 Applet。
在谷歌上搜索我发现了一些讨论,据说可以添加codebase_lookup带有 value的参数false,但这并没有解决问题。这个页面,与codebase_lookup参数有关,表示 Applet 的默认行为是从 JAR 文件加载资源,然后从 Applet 代码库加载资源,在我的情况下,行为是相反的。
我还在文件eager="true"中为每个 JAR 资源添加了属性.jnlp,但行为始终相同。Applet 是使用 NetBeans 开发和构建的,生成的 html 和 jnlp 文件如下。
启动.html
<applet width="300" height="300">
<param name="jnlp_href" value="launch.jnlp"/>
<param name="codebase_lookup" value="false"/>
</applet>
启动.jnlp
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="http://192.168.23.4/contact" href="launch.jnlp" spec="1.0+">
<information>
<title>ContactNR</title>
<vendor>Roberto Santini</vendor>
<homepage href=""/>
<description>ContactNR</description>
<description kind="short">ContactNR</description>
</information>
<resources>
<j2se version="1.5+"/>
<jar eager="true" href="ContactNR.jar" main="true"/>
<jar eager="true" href="lib/VDK.jar"/>
<security>
<all-permissions/>
</security>
</resources>
<resources arch="amd64" os="Linux">
<jar eager="true" href="lib/liblinux64.jar"/>
</resources>
<resources arch="x86_64" os="Linux">
<jar eager="true" href="lib/liblinux64.jar"/>
</resources>
<resources arch="x86" os="Linux">
<jar eager="true" href="lib/liblinux.jar"/>
</resources>
<resources arch="i386" os="Linux">
<jar eager="true" href="lib/liblinux.jar"/>
</resources>
<resources os="Windows">
<jar eager="true" href="lib/libwin.jar"/>
</resources>
<resources os="MacOs">
<jar eager="true" href="lib/libmac.jar"/>
</resources>
<applet-desc height="300" main-class="com.netresults.voip.ContactNR" name="ContactNR" width="300">
<param name="codebase_lookup" value="false"/>
</applet-desc>
</jnlp>
有人能帮我吗?非常感谢,
罗伯托。