2017-02-09 6 views
1

우리는 서로 다른 IP를 가진 서버 서버에 배포 할 응용 프로그램을 보유하고 있습니다. JNLP는 빌드시에 생성됩니다. 코드베이스는 로컬 파일 시스템으로 설정된다 (제 시작시에 생성 된 화상 아이콘부터)이 애플리케이션을 한 번 시작할 때코드베이스없이 JNLP를 사용하는 방법?

<jnlp spec="1.0+" href="app.jnlp"> 

하지만, 전혀 쓸모 : 그러므로 우리는 코드베이스없이 JNLP 정의 . Java Webstart가 처음으로 응용 프로그램을 시작할 때 실제 출발지 주소로 코드베이스를 설정한다고 예상합니다. 이것은 사실이 아닌 것 같습니다.

다른 서버에서 수정없이 사용할 수있는 일반 JNLP를 어떻게 준비 할 수 있습니까?

<jnlp spec="1.0+" codebase="$$codebase" href="app.jnlp"> 

Mojohaus가 mavenized 패키지를 제공 :

+0

생성하는 경우 각 서버에 대해 별도의 .jnlp 파일을 생성하지 마십시오. – VGR

+0

@VGR 빌드시 생성됩니다. 빌드시에는 대상 서버의 IP 주소를 알 수 없습니다. 시간이 지남에 따라 변경 될 수도 있습니다. – radlan

+1

서버가 실행중인 소프트웨어는 무엇입니까? 서블릿 컨테이너 (Tomcat, GlassFish 등) 인 경우 .jnlp 컨텐츠를 동적으로 제공 할 수 있습니다. – VGR

답변

0

는 JDK의 sample/jnlp/서블릿 디렉토리에서 사용할 수 JnlpDownloadServlet, 올바른 코드베이스의 예를 삽입, 런타임시 템플릿에서 JNLP를 생성하는 데 사용할 수 있습니다 서블릿 here.

또한 서명 된 기본 jar 파일에 JNLP-INF/APPLICATION_TEMPLATE.JNLP 파일을 제공해야합니다. app.jnlp를 복제하지만 $$ 코드베이스에 별표가 있습니다.

<jnlp spec="1.0+" codebase="*" href="app.jnlp">