2017-05-17 12 views
0

Java 응용 프로그램 (jnlp)을 실행하려고하는데이 응용 프로그램을 시작할 때 JRE 버전 1.8.0_121-b13을 사용하려고하면 문제가 발생합니다. 이 Java 버전을 Java 1.6으로 어떻게 바꿀 수 있습니까? 나는이 jar 파일을 다운로드하고 자바 1.6를 사용하여 명령 콘솔에서자바 콘솔 JRE를 업데이트하는 방법은 무엇입니까?

java -jar sample.jar 

, 시스템 실행하려고하면

Java Web Start 11.121.2.13 x86 
Using JRE version 1.8.0_121-b13 Java HotSpot(TM) Client VM 
c: clear console window 
f: finalize objects on finalization queue 
g: garbage collect 
h: display this help message 
m: print memory usage 
.... 

사용자 및 시스템 JRE 두 버전 모두

1.6

enter image description here입니다 이 응용 프로그램을 실행합니다.

편집 :

출력

java -version 

java version "1.6.0_45" 
Java(TM) SE Runtime Environment (build 1.6.0_45-b06) 
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) 

내 jnlp 파일의;

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="***mysite***" href="sample.jnlp"> 

<information> 
    <title>Sample jnlp</title>   
    <offline-allowed/> 
</information> 


<security> 
    <all-permissions /> 
</security> 

<resources> 
    <j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se" /> 
    <jar href="sample.jar" main="true" /> 
    <property name="jnlp.packEnabled" value="true" /> 
</resources> 

<application-desc name="sample" main-class="com.test.main"> 
</application-desc> 

<update check="always" policy="always"/> 

</jnlp> 
+0

마지막 문장을 설치하지 마십시오.당신은 말하고 있습니다 : 당신이 명령 줄에서 자바를 수동으로 호출 할 때, 당신은 자바 1.6을 선택하는 방법을 알고 있습니까? – GhostCat

+0

@GhostCat 아니요. 나는이 응용 프로그램을 예상대로 실행하기 위해 Java 1.6을 사용하는 명령 줄 시스템에서이 jar 파일을 실행할 때 말합니다. 하지만 왜 웹에서이 응용 프로그램을 실행하려고하면 Java 1.8을 사용하려고합니까? 내 편집을 참조하십시오 – hellzone

+0

응용 프로그램 서버가 사용하는 Java 버전은 무엇입니까? 먼저 – murthy

답변

2

문제는 대부분 어플리케이션의 JNLP 파일이 응용 프로그램 자바 8 이상이 필요합니다 지정 (http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#example 참조)하는 것이 될 것입니다. 또한 Java 6을 사용하기 위해 응용 프로그램 시작 프로그램을 어떻게 든 관리 할 수 ​​있다면 Java 8 라이브러리에 의존하기 때문에 응용 프로그램이 실패 할 가능성이 있습니다. 자바 6 월말 삶의 더 이상 보안 패치를 받고 넘어 때문에

  • 앱이 1 실행에 도착하고,
  • :

    당신은 자바 8 JRE를 설치해야합니다.

(그냥 지금 WindowsXP 같은이되지 않습니다 : https://en.wikipedia.org/wiki/WannaCry_ransomware_attack_)


UPDATE - 자바의 특정 버전을 사용하는 JNLP 강제보십시오; 예 : 내가 실수로 사용되지 않는/안전하지 않은 자바 버전을 사용에서 당신을 중지하려고 javaws 자체 일 수 있다는 의심

<j2se version="1.6" href="http://java.sun.com/products/autodl/j2se" /> 

<j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se" /> 

교체합니다.


1 - OK, 귀하의 의견은 명령 줄에서 실행하면 응용 프로그램은 자바 6을 사용하여 실행하는 것이 좋습니다. 이 경우, 해당 웹 사이트에서 Java 8을 지정하는 JNLP 구성의 가능한 이유는 이 사용자에게 업데이트해야한다는 강력한 메시지를 보내기 때문입니다. JNLP 시작 및 Java 6 사용은 보안 위험이 있습니다. Oracle에서 Java 6 지원 계약을 맺지 않으면 JRE를 정기적으로 패치해야합니다.

+0

jnlp 파일을 추가했습니다. 문제는이 jnlp 파일을 수동으로 생성했기 때문에 Java 1.8을 사용하도록 지정하지 않았습니다. – hellzone

+0

여전히 작동하지 않습니다. Java 1.8 (jre 1.8 32 비트)을 제거한 후 jnlp (및 모든 jar 파일)을 다시 시작하려고 시도했을 때 "어떻게이 파일을여시겠습니까?"대화 상자가 나타납니다. 문제는 또한 자바 1.8 (jre 1.8 64 비트)와 자바 1.6 (jdk 1.6 64 비트)입니다. – hellzone

+0

귀하의 질문에 * Java * 6 사용을 원한다고 생각했습니다. 지금 Java 8을 사용하려면 1) 모든 JDK 및 JRE를 제거하십시오 (단지 디렉토리를 삭제하지 마십시오 ...) , 2) Java 8 (JDK 또는 JRE) ** 만 설치 **, 3) JNLP 파일을 버전 1.8.0으로 변경합니다. –