문제

아무리 시도해도 JNLP 파일을 로컬에서 (더블 클릭을 통해) 실행할 수 없습니다.jnlp 파일을 기준으로 지정하더라도 jar 파일을 찾는 문제인 것 같습니다.다음 오류가 발생합니다.

필드u003Cjar> HREF는 잘못된 가치가 있습니다.helloworld.jar

이는 JNLP 파일이 helloworld.jar과 동일한 폴더에 있는 경우에도 발생합니다.검색을 해본 결과 이는 특히 애플리케이션을 CD에 패키징하고 JNLP를 사용하려는 사람들에게 일관된 문제입니다.Sun이 제공하는 유일한 "솔루션"은 명령줄을 통해 코드베이스를 지정하는 기능이지만 실제로는 그다지 도움이 되지 않습니다.왜 그들이 코드베이스를 가정하거나 허용하지 않는지 이해하지 못합니다. 또는 "파일 : //." - JNLP 태그 (파일 내부)의 Codebase 매개 변수에서 이런 종류의 것들을 시도했지만 아무것도 작동하지 않았습니다.


플랫폼 감지, 기본 라이브러리 또는 기본 JOGL jar 파일에 대해 걱정할 필요가 없기 때문에 JNLP 파일을 사용하는 것이 매우 편리합니다.다음 줄만 포함하면 모든 작업이 완료됩니다.

<extension name="JOGL" href="http://download.java.net/media/jogl/builds/archive/jsr-231-2.0-beta10/webstart/jogl-all-awt.jnlp" />

나는 같은 종류의 일을 할 수 있는 일을 찾고 싶습니다.그렇지 않은 경우 JOGL jar 파일을 수동으로(또는 Ant를 사용하여) 가져올 수 있습니다. 이는 큰 문제가 아닙니다.JNLP가 저를 위해 해주는 것 중 하나일 뿐이고 저는 정말 그리워질 것입니다.


로컬에서 사용하기 위한 JNLP 파일의 가장 좋은 대안은 무엇입니까(예:실행하려면 두 번 클릭하세요)?그렇게 우아한 것이 있습니까? 아니면 Linux용 쉘 스크립트, Windows용 배치 파일을 작성하고 Ant가 적절한 JOGL jar를 감지하고 다운로드하도록 해야 합니까?

도움이 되었습니까?

해결책

Java Web Start 소프트웨어를 로컬에서 실행하기 위해 이와 같은 .jnlp 파일을 사용했습니다.

  1. 다음과 같이 코드 베이스를 지정하십시오.<jnlp spec="1.0+" codebase="file://localhost/X:/path/to/jnlp/" href="software.jnlp">

  2. 상대 경로를 사용하여 리소스를 나열합니다. <resources> <jar href="lib/software.jar" main="true" /> <jar href="lib/softwareLibrary.jar" main="true" /> ... </resources>

  3. 마지막으로 Web Start에 다음과 같이 표시된 jar 내부의 소프트웨어 진입점을 찾을 수 있는 위치를 알려줍니다. main="true": <application-desc main-class="com.example.Main" />

원격으로 배포할 때 변경해야 할 유일한 것은 codebase 매개변수입니다.

다른 팁

속성을 제거하면 됩니다. codebase 그리고 href ~에서 jnlp 꼬리표.

<jnlp spec="1.0+">

이는 Java 1.6u18부터 지원됩니다.

JNLP 시스템은 Java 6 업데이트 10(오래 전)으로 개선되었지만 여전히 디버깅하기가 매우 어렵습니다(Java 콘솔에서 전체 추적을 활성화하고 javaws 소스 코드를 단계별로 실행).

귀하의 상황에서 나는 추가 노력을 기울여 작동하도록 할 것입니다.아마도 문제를 보여주는 전체 JNLP 파일을 제공하시겠습니까?

항아리에 매니페스트를 사용하세요.여기서 시작할 기본 클래스와 필수 라이브러리를 정의할 수 있습니다.매니페스트 사양의 Main-class 및 Class-path 인수를 참조하세요.

JNLP는 네트워크 실행(특히 http(s))용으로 설계되었으며 네트워크가 없으면 Java 구현이 매우 혼란스러워질 것입니다.Eclipse와 같은 성숙한 프로젝트도 .sh,.bat 옵션을 사용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top