2014-11-06 7 views
0

두 개의 주요 클래스가있는 jar 파일이 있습니다. 필요한 것에 따라 둘 중 하나를 실행할 수 있습니다. 이 응용 프로그램을 webstart를 통해 실행하려면 두 개의 JNLP 파일을 만들었습니다. 각 파일은 두 개의 주요 클래스 중 하나를 참조합니다.Webstart가 기본 클래스를 판별하는 방법은 무엇입니까?

메인 클래스 중 하나만 두 파일에서 시작된다는 사실에주의해야합니다! 내가 아는 바로는 해고 된 클래스도 항아리 매니페스트의 메인 클래스로 나열된 클래스입니다. webstart 사양, webstart 설명서를 읽으려고했지만 여기에 매니페스트와 관련된 내용을 찾을 수 없습니다. Oracle JDK와 함께 제공되는 소스 코드를 살펴 보았을 때 webstart 실행 프로그램과 관련이별로 없었습니다.

webstart가 주류를 얼마나 정확하게 찾습니다?

답변

1

JNLP 파일에는 항아리를 넣는 섹션의 리소스가 있습니다.

당신 중 하나는 주 = true이어야합니다. 이 jar에서는 MANIFEST.MF의 main-class를 독립형 jar 파일처럼 정의합니다.

<resources> 
    <jar href="FarmGenerator.jar" main="true"/> 
    ... 
</resources> 
<application-desc main-class="com.amadeus.wh.CompliancyChecker.MainFrame"> 
</application-desc> 

이있는 매니페스트 파일 조각 :

<resources> 
    <jar href="FarmGenerator.jar" main="true"/> 
    ... 
</resources> 
<application-desc main-class="com.amadeus.wh.farmgenerator.MainFrame"> 
</application-desc> 

이 두 번째 JNLP의 조각입니다 :

+0

주 jar는 main = true로 선언됩니다. 그러나 여기에는 두 개의 주요 클래스가 있습니다. 명시된대로 매니페스트가 평가되는 것으로 잘 알려져 있습니다. 이는 메인 클래스 속성이 보지 않았 음을 의미합니다. – Hiran

+0

단일 메인 클래스를 사용하지 않고 명령 줄 인수 또는 시스템 속성을 사용하여 어떤 경로를 결정할 수 있습니까? 웹을 시작한 지 오래되었지만 JNLP 파일에서 시스템 속성을 설정할 수 있다고 생각합니다. – markbernard

+0

시스템 속성 및 기타 매개 변수를 설정할 수 있습니다. 대안을 찾으러 가기 전에이 웹 스타트 동작을 정말로 이해하고 싶었습니다. – Hiran

0

여기에 조각 내 JNLP 파일에서 있으며, 추가 정보를 제공합니다

메인 클래스 : com.amadeus.wh.farmgenerator.MainFrame

JN LP 파일은 farmgenerator.MainFrame 만 시작됩니다. 마치 manifest가 application-desc 요소보다 우선합니다.