2009-09-24 2 views
1

외부 구성이 필요한 webstart 응용 프로그램이 있습니다. 구성은 고객이 수동으로 변경하므로 외부 구성이어야합니다. 이 구성으로 다른 병을 추가 할 것을 고려했습니다. 신청서에 서명하고 고객에게 우리의 열쇠를주는 것이 선택 사항이 아닙니다. 나는이 파일을 웹 서버에서 액세스 할 수 있도록 배치하고있다.webstart 응용 프로그램의 외부 구성을 포함하는 방법

webstart 응용 프로그램에서 코드베이스 URL을 검색하려면 어떻게해야합니까? 또는 webstart jnlp 파일을 구성하여 classpath에 jar 파일 이외의 다른 파일을 추가하는 방법이 있습니까?

단서 인 경우 완전한 빌드를 위해 maven을 사용합니다.

기타 아이디어는 허용됩니다.

+0

각 클라이언트에 고유 한 구성 또는 설치 사이트 당 하나의 구성을 갖기를 원하십니까? 나는 그들이 LAN 환경에서 말하면서 자신의 웹 서버에서 이것을 실행한다고 가정한다. – Nemi

+0

설치 당 하나의 구성. 내 고객은 회사 마녀입니다. 가격 목록, 추가 메시징 등. 구성 변경으로 인해 응용 프로그램 재배포가 필요하지 않습니다. – cetnar

답변

0

체크 아웃 여기에 JNLP 구문 참조 : 이 http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html

당신을위한 중요한 비트는 "자원"태그입니다 : 위의 예에서

<resources> 
    <j2se version="1.4.2+" java-vm-args="-esa -Xnoclassgc"/> 
    <jar href="lib/SwingSet2.jar"/> 
</resources> 

는 SwingSet2.jar는 클래스 패스에 추가 . classpath에서 더 많은 항아리가 필요하십니까? 다른 항아리 리소스를 추가하십시오.

<resources> 
<j2se version="1.4.2+" java-vm-args="-esa -Xnoclassgc"/> 
<jar href="lib/SwingSet2.jar"/> 
<jar href="lib/SwingSetSupplment.jar"/> 
</resources> 

나는 코드베이스에서 똑같은 문제가있었습니다. 나는 다음에

<property name="app.codebase" value="$$codebase"/> 

를 추가 (당신은 내가 하나의 하이퍼 링크를 :(게시 할 수 있습니다 .. 그것을 구글해야합니다)는 jnlp 파일을 제공 할 때 자동으로 올바른 코드베이스를 포함하는 JnlpServlet를 사용하여 종료 자원 섹션을 참조하십시오.

0

당신은 JNLP Download Servlet 당신은 시스템 속성으로 응용 프로그램에 $$ 코드베이스 매크로를 전달할 수 있으며,이 코드베이스 URL에 대한 액세스를 제공 할 것입니다. 우리의 Webstart를 응용 프로그램 구성에서

가에 저장되어 사용하는 경우 서버를 SQL을 사용하지만 약간 헤비급으로 사용할 수 있습니다.

1

Java Preferences API을 사용하여 외부 구성 데이터를 저장할 수 있습니다. 이것은 개인 기계에 국한됩니다. Windows에서는 레지스트리를 사용하고 Unix에서는 고전적인 ".xyz"파일을 사용합니다.

귀하는이 구성을 조작하기 위해 앱에서 UI를 사용하는 것이 가장 좋을 것입니다. 사용자를 RegEdit으로 보내면 좋은 것은 아니지만 영광스러운 것은 아닙니다. 이름/값 쌍 편집기가 트릭을 수행합니다. 그리고 "구성 해제 된"응용 프로그램을 시작하는 데 적절한 기본값을 사용하십시오.

+0

이것은 매우 논리적 인 솔루션으로 보이며 원본 서버로 네트워크 연결을 필요로하지 않습니다 (다운로드 후). –

관련 문제