우리는 java webstart를 사용하여 인쇄 응용 프로그램을 개발하려고합니다. 우리는 eclipse를 사용하여 jar 파일을 일반적인 jar 파일로 생성했습니다. 우리의 응용 프로그램은 데이터베이스에 연결하여 데이터를 바이트 등으로 변환하는 데 필요한 외부 라이브러리가 필요합니다.java webstart 프로젝트에 jar 종속성을 포함하는 방법
jre 폴더의/ext/디렉토리에 필요한 jar 파일을 넣기 전에이 작업을 수행 할 수있었습니다. 그러나 이로 인해 Tomcat 서버와 라이브러리가 충돌하기 때문에이 접근법을 피하고자합니다.
또한 필요한 라이브러리가 이미 jar 파일로 패키지되어 있으므로 runnable jar로 프로젝트를 내보내려고했습니다. 그러나 응용 프로그램을 실행하려고하면 항아리 내에서 라이브러리를 볼 수없는 것 같습니다.
jar 파일과 함께 필요한 라이브러리를 jar 파일과 함께 폴더에 배치하고 하나씩 참조 할 수 있다는 것도 알고 있습니다. 그러나 우리는 많은 외부 항아리가 있고 하나씩 가져 오기를 원하지 않기 때문에이 방법을 피하고 싶습니다. :)
제 질문은 어떻게 java webstart jar를 적절하게 패키지합니까? 다른 방법이 있습니까? 가장 좋은 방법은 무엇입니까?
우리의 jnlp 파일은 아래를 참조하십시오
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="http://192.168.1.169/webstart/" href="launch.jnlp" spec="1.0+">
<information>
<title>PrinterWebStart</title>
<vendor>robert</vendor>
<homepage href=""/>
<description>PrinterWebStart</description>
<description kind="short">PrinterWebStart</description>
</information>
<update check="always"/>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+"/>
<jar href="printer-base.jar" main="true"/>
</resources>
<application-desc main-class="com.ccti.printer.task.PrinterTaskPanel">
</application-desc>
</jnlp>
* "그러나 우리는 많은 외부 항아리가 있으므로 이러한 접근법을 피하고자 하나씩 가져오고 싶지는 않습니다."* 단순히 가장 좋은 접근 방법입니다. E.G. 그것은 응용 프로그램의 게으른 다운로드를 지원합니다. 구성 요소 및 잠재적으로 작은 바이트 단위의 구성 요소 업데이트가 포함됩니다. 왜 다른 방식으로하고 싶습니까? –
안녕하세요. 필요한 외부 라이브러리가 항아리에 포장되어 있다면 더 좋을 것이라고 생각했습니다. 외부 폴더에 배치하는 것이 가장 좋은 방법이라면이를 구현할 것입니다. 답장을 보내 주셔서 감사합니다! – user1928162
"Java Web Start는 매니페스트 파일의 Class-Path 항목을 지원하지 않습니다."- [FAQ] (http://docs.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/ faq.html # 209) – trashgod