JNLP를 사용하여 jar 파일을 시작하려고 할 때 문제가 발생했습니다. 이전에 JNLP를 사용하지 않고 애플릿을 아무 문제없이 시작했습니다. 우리는 jnlp 파일과 함께 같은 디렉토리에 보관되는 3 개의 다른 jar를 시작하려고합니다. 모든 항아리가 다운로드되지만 외부 항아리 중 하나 (즉, 주 항 항이 아닌 항아리)에서 클래스를로드하려고하자마자 classNotFoundError가 표시됩니다. 응용 프로그램이 실행될 때까지 응용 프로그램이 실행되므로 주 병이 실행되는 것처럼 보입니다. 다음과 같이 JNLP 파일은 같습니다클래스를 찾을 수 없음 JNLP를 사용하여 애플릿을 실행할 때 예외가 발생했습니다.
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="/jars/file.jnlp">
<information>
<title>Client</title>
<vendor>My Vendor</vendor>
<description>Description</description>
<description kind="short">Desc</description>
<offline-allowed />
</information>
<security>
<all-permissions />
</security>
<resources>
<j2se version="1.6+" />
<jar href="mainJar.jar" main="true" download="eager"/>
<jar href="extJar1.jar" main="false" download="eager"/>
<jar href="extJar2.jar" main="false" download="eager" />
</resources>
<applet-desc
name="MyApp"
main-class="path-to-main-class"
width="1"
height="1">
</applet-desc>
</jnlp>
애플릿은 다음과 같이 HTML 파일에서 시작됩니다 : 나는 나에게 오류를 제공하지 않는 Janela으로 JNLP 다음 확인했습니다
<applet
code="com.mycompany.net.MyMainClass"
name="MyApp"
archive="/jars/extJar1.jar, /jars/extJar2.jar, /jars/mainJar.jar"
id="myId"
width="1"
height="1"
mayscript
alt="The java plugin must be installed.">
<param name="jnlp_href" value="/jars/file.jnlp"/>
Java 1.5 or higher required.
</applet>
. jnlp 파일없이 Eclipse에서 애플릿을 실행하기 위해 작동합니다. 또한 javaw에서 jnlp-file을 열어 파일이나 파일에 대한 URL을 지정합니다. 그게 내가 잘못한 HTML이라고 생각하게 만든다. 그러나 이것은 내가 가진 것입니다.
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {
id:'myId',
code:'com.mycompany.net.MyMainClass',
width:1,
height:1,
name:"MyApp"
};
var parameters = {
jnlp_href:"/jars/file.jnlp",
archive:"/jars/extJar1.jar, /jars/extJar2.jar, /jars/mainJar.jar",
};
deployJava.runApplet(attributes, parameters, '1.6');
JNLP (JaNeLA 사용에 대한 좋은 호소) 나 애플릿/JS 요소에 아무런 이상이 없음을 볼 수 있습니다. 어떤 브라우저에서 테스트하고 있습니까? –
크롬 및 Firefox. 근본 원인을 찾은 것 같습니다. 일단 jar 파일이 모두 다운로드되면 서버는 나중에 발견되지 않는 클래스를 요청하는 새로운 요청을받습니다. 하지만 jar 폴더가 아닌 jar 폴더에있는 클래스 파일을 찾는 이유는 무엇입니까? – Erik
[Codebase] (http://docs.oracle.com/javase/6/docs/technotes/guides/jweb/applet/codebase_determination.html) jnlp 태그의 param? 그것은 어쨌든 내 대답이었다. – Fuhrmanator