Я новичок здесь и прошу прощения за мой плохой английский.
У меня небольшая проблема с классом Applet, обслуживаемым технологией Java Web Start. У меня есть некоторые зависящие от платформы JAR-файлы, которые Web Start загружает правильно, но когда я получаю контент методом getResourceAsStream(String fileName)
объекта ClassLoader
, сначала делается запрос GET fileName
на веб-сервер, после получения 404 Not Found
ответ, ресурс загружен правильно из файла JAR. Проблема в том, что у меня много файлов внутри JAR, поэтому у меня много ненужной нагрузки на WEB-сервер, и поэтому мне приходится долго ждать, прежде чем я смогу использовать апплет.
Поиск в Google Я нашел несколько обсуждений, в которых говорилось о добавлении параметра codebase_lookup
со значением false
, но это не решило проблему. Эта страница относительно параметра codebase_lookup
говорит, что поведение апплета по умолчанию - загрузка ресурсов из файла JAR, а затем из кодовой базы апплета, в моем случае поведение противоположное.
Я также добавил атрибут eager="true"
для каждого ресурса JAR в файле .jnlp
, но поведение всегда одинаковое. Апплет был разработан и построен с использованием NetBeans, сгенерированные файлы html и jnlp:
launch.html
<applet width="300" height="300">
<param name="jnlp_href" value="launch.jnlp"/>
<param name="codebase_lookup" value="false"/>
</applet>
launch.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>
Может кто-нибудь мне помочь?
Спасибо всем,
Роберто.