2016-07-28 8 views
2

우리의 고객은 부분적으로 JRE의 x86 및 병렬로 설치 64있다. JNLP는 기본적으로 Windows에서 HKEY Classes Root JNLPFile에 시작됩니다. 그러나이 경로는 x86 또는 x64 경로를 나타냅니다.JRE x86 및 x64가 이미 설치되어있는 JNLP 응용 프로그램을 시작 하시겠습니까?

그것은 86 응용 프로그램과 응용 프로그램이의 x64의 Javaws 제어의 x64의 Javaws로 시작되는 경우는 86 경로에 변화를 Webstart를?

속성 "아치"영향 및 시작시 응용 프로그램 chrashs이 없습니다.

답변

2

64 비트 및 32 비트 JRE/JDK가 모두 설치되고 응용 프로그램이 32/64 비트에 대해 다른 JAR을 필요로 할 때 발생하는 Java Web Start에서 Java 8u102가 bug으로 변경되었습니다 (이 경우 우리는 SWT 응용 프로그램, 각 arch에 대해 다른 swt.jar이 필요함).

당신이 JNLP에 최초의 64 비트에 대한 자원을 지정하여이 버그를 해결 할 수있는 것 같다. 예를 들어 :

<?xml version="1.0" encoding="UTF-8"?> 
    <jnlp spec="1.0+" codebase="file:///c:/jnlp" href="demo.jnlp"> 
    <information> 
     <title>Demo</title> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 

    <resources> 
     <j2se version="1.8+"/> 
     <jar href="demo.jar" /> 
    </resources> 
    <resources os="Windows" arch="amd64"> 
     <jar href="win64/swt.jar"/> 
    </resources> 
    <resources os="Windows" arch="x86"> 
     <jar href="win32/swt.jar"/> 
    </resources> 

    <application-desc main-class="package.to.MainClass"/> 
</jnlp> 

의 핵심은 32 비트와 함께 작동하며 64 비트 JRE와 함께 실행해서는 안 응용 프로그램이있는 경우 arch="amd64"에 대한 자원 arch="x86"

을위한 자원 앞에 나타날 것입니다 전혀, 64 비트에 대한 잘못된 J2SE 버전을 지정하여 32 비트 JRE를 사용하는의 Javaws 강제 할 수 있습니다 (이 작동하려면이 경우 1.0.0, 즉 J2SE 버전을 참고하면 아치 특정 리소스 섹션 내에서 지정해야합니다) . 이 사건을보고

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="file:///c:/jnlp" href="demo.jnlp"> 
    <information> 
     <title>Demo</title> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 

    <resources> 
     <jar href="demo.jar" /> 
    </resources> 
    <resources os="Windows" arch="amd64"> 
     <j2se version="1.0.0"/> 
    </resources>  
    <resources os="Windows" arch="x86"> 
     <j2se version="1.8+"/> 
     <jar href="win32/swt.jar"/> 
    </resources> 

    <application-desc main-class="package.to.MainClass"/> 
</jnlp> 
+0

감사합니다. https://bugs.openjdk.java.net/browse/JDK-8161986 - 우리는 수정에이 문제를 위해 노력하고 있습니다. – Fairoz