나는 jws 기반 응용 프로그램을 가지고 있습니다.
웹 서버에 배포 중이며 클라이언트가 브라우저에서 파일을 다운로드하여 실행합니다.
바탕 화면 바로 가기이 만들어지며 응용 프로그램이 완벽하게 실행됩니다.JNLP 파일 자동 업데이트 문제
는 지금은 서버에 jnlp 파일의 일부 특성을을 변경하는 경우 다음 바탕 화면 바로 가기에서하거나 업데이트됩니다하지 않습니다 다운로드 jnlp 파일 자체 에서 (클라이언트 시스템)에 설치된 응용 프로그램을 실행합니다.
jdk 버전 1_6_30 및 1_7_21에서 확인했습니다. 이 두 릴리즈는 캐시 경로의 공백과 관련된 이전 bug을 해결 한 것으로 보입니다.
Windows XP/7/8에 문제가 남아 있습니다.
원래 jnlp 파일 :
<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase="path/to/fileLocation" spec="1.0+" href="demo.jnlp" >
<information>
.
.
.
<offline-allowed/>
<shortcut online="false">
<desktop/>
<menu submenu="Demo"/>
</shortcut>
</information>
<update check="always" policy="always"/>
<!--request all permissions from the application. This does not change-->
<security>
<all-permissions/>
</security>
.
.
<resources>
<!-- Here we are referring to the wrapper feature since it transitively refers to all the other plug-ins necessary -->
<extension>
name="Wrapper feature"
href="plugin_<some_random_generated_string_1>.jnlp"/>
</extension>
</resources>
.
.
.
<resources os="Windows" arch="x86">
<j2se version="1.6+" java-vm-args="-Xms400m -Xmx800m"/>
</resources>
업데이트 jnlp 파일 :
<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase="path/to/fileLocation" spec="1.0+" href="demo.jnlp" >
<information>
.
.
.
<offline-allowed/>
<shortcut online="false">
<desktop/>
<menu submenu="Demo"/>
</shortcut>
</information>
<update check="always" policy="always"/>
<!--request all permissions from the application. This does not change-->
<security>
<all-permissions/>
</security>
.
.
<resources>
<!-- Here we are referring to the wrapper feature since it transitively refers to all the other plug-ins necessary -->
<extension>
name="Wrapper feature"
href="plugin_<some_random_generated_string_2>.jnlp"/>
</extension>
</resources>
.
.
<resources os="Windows" arch="x86">
<j2se version="1.6+" java-vm-args="-Xms300m -Xmx600m"/>
</resources>
변경 에서 자바 VM-인수 반영됩니다하지 않습니다.
jnlp 파일을 다시 다운로드하여 실행하면 업데이트가 작동합니다. 이 경우 바탕 화면 바로 가기는 여전히 고통 :(
이 JaNeLa를 사용하여 JNLP를 검증 인 이전을 의미
이편집 :.
이이 demo.jnlp는 또 다른 기능 JNLP을 포함 (추가 해당 블록 괄호). 응용 프로그램의 모든 업데이트에서이 기능 jnlp도 업데이트되지만 클라이언트에는 반영되지 않습니다.
jnlp 파일 자체는 자동으로 업데이트되지 않습니까? 위의 demo.jnlp (EDIT 확인)에 포함 된 동적으로 생성 된 jnlp가 있습니다. 그래서 언제 내 응용 프로그램이 업데이 트되면, 내 새 빌드 (이클립스 사용) demo.jnlp에 포함 된 새로운 jnlp 파일을 생성합니다. 클라이언트는 다시 업데이트하지 않습니다. 응용 프로그램을 배송하는 내 메커니즘이 올바 릅니까 (jnlp가 동적으로 생성 된 다른 jnlp를 참조하는 경우)? – holmes840