2011-08-12 2 views
0

나는 java3d가 필요한 eclipse에서 응용 프로그램을 개발했습니다. java3d에 대한 항아리가 있지만 응용 프로그램에서 필요한 클래스를 참조 할 수 있도록 내 마지막 항아리에 넣는 방법을 모르겠습니다.내 응용 프로그램과 함께 포장 자바 항아리 라이브러리

그것은 아주 간단
cd /Users/landonsilla/Sites/3dviewer/bin 
jar -cvf CyarkCloudViewerPro.jar pointCloudTest/*.class pointCloudTest/icons/*.png 

, 그것은 그냥 클래스 파일과 일부 이미지를 가져 와서 항아리를두고 : 나는 맥에 그냥 명령 줄을 사용하여 병을 해요, 이건 내 스크립트입니다. 어떻게 java3d jar 파일을 거기에 넣을 수 있습니까?

최종 목표는 jnlp를 통해 내 웹 사이트에 전달하는 것입니다. 내 응용 프로그램이 작동하고 구현 된 jnlp 전달 메커니즘이 제대로 작동합니다. 그러나, java3d 물건을하려고 할 때 내 응용 프로그램이 충돌합니다.

이것은 간단하고 일반적인 요청처럼 보입니다. 답변을 찾을 수 없습니다.

+0

참조 http://stackoverflow.com/questions/81260/java-easiest-way-to-merge-a-release-into-one-jar-file 또는 http://stackoverflow.com/questions/183292/ classpath-jar-within-a-jar –

답변

1

주 jar 파일을 주 병에 추가 한 다음 MANIFEST.MF 파일에 라이브러리를 알립니다. MANIFEST.MF의 예 :

Manifest-Version: 1.0 
Main-Class: fi.ropecon.contv.client.ConTVClient 
Created-By: "Jari Juslin <[email protected]>" 
Class-Path: lib/j2ee.jar lib/jbossall-client.jar lib/log4j.jar lib/jnp-client.jar 

"메인 클래스"는 자바 -jar 명령으로 프로그램을 시작할 때 프로그램을 시작이라고하는 클래스입니다. 클래스 경로는 일반적인 Java 클래스 경로이지만 주 jar 아카이브의 루트와 관련됩니다.

+0

자, jar 파일을 주 jar에 추가하는 방법을 정확하게 설명해 주시겠습니까? 나는 항아리가 단지 zip 파일이라는 것을 알고 있습니다. 그래서 압축을 풀고, lib 폴더를 만들고, 거기에 항아리를 떨어 뜨린 다음, 다시 압축을 풉니 다. – Landon

+0

예, 작동합니다. 일반적으로 사람들은 "ant"와 같은 빌드 도구를 사용하여이를 수행합니다. 이 파일을 사용하면 디렉토리 및 파일이 포함 된 위치와 위치를 나열 할 수 있습니다. – Zds

+0

클래스 뒤에 "jar"명령의 명령 줄에 포함 된 jar를 나열 할 수도 있습니다. 항아리 도구는 실제로 * nix에서 "타르 (tar)"처럼 작동합니다. 단지 멋진 압축 도구 일뿐입니다. – Zds

관련 문제