2014-10-31 5 views
0

Netty 라이브러리의 ontop을 구축했습니다.라이브러리를 만들 때 발생하는 문제

래퍼를 .JAR로 내보내려고하므로 다른 프로젝트에 추가 할 때 기능을 사용할 수 있습니다.

.JAR 파일은 종속성 폴더에 Netty.jar 파일을 가지고 있지만, 프로젝트에서 내 .jar 파일을 라이브러리로 가져 오려고 할 때 Netty 함수를 가져올 수 없습니다.

물론, .JAR 파일은 Netty.Jar 파일에 액세스 할 수 있습니다.

내 .jar 및 netty.jar을 라이브러리로 가질 필요가 없으며 대신 내 .jar 파일을 netty.jar 파일을 프로젝트에 공유하도록 할 수있는 방법이 있습니까?


예 : 당신은 단지 'Netty.Jar'

또는 함께 제공되는 기능을 사용하는 'MyLibrary.Jar'를 수입해야 할 것입니다 의미


-|_My Project 
---|_MyLibrary.Jar 
-----| Netty.Jar 
이럴 필요가 있나요?


-|_My Project 
---| MyLibrary.Jar 
---| Netty.Jar 

답변

0

표준 Java는 Jar 파일 내에서 Jar 파일을로드 할 수 없습니다. 두 도서관을 나란히 놓고 두 번째 방법으로해야합니다. Netty.jar을 가리키는 classpath가 포함 된 Manifest를 MyLibrary.jar에 두는 것입니다. 이 방법을 사용하면 클래스 경로에 만 추가하면되지만 둘 다 추가하면 안됩니다. 하지만 여전히 두 jar 파일은 classpath가 아닌 파일 시스템에 있어야합니다.

+0

사용자 (이미 다른 사람이 이것을 사용하고 싶다면)는 이미 'MyLibrary.Jar'안에 있어도 Netty.jar을 다운로드해야합니다. – Hobbyist

+0

예, 최소한 표준 Java를 사용하십시오. 다른 클래스 로더가 있습니다 (예 : OneJar, 그게 도움이 될지 모르지만, 독립형 응용 프로그램을 위해서만 라이브러리에 사용하지 않을 것입니다. 또한이 질문 좀 봐 : http://stackoverflow.com/questions/12357136/reference-jars-inside-a-jar – cello

+0

드래그, 다른 대안을 내 Netty 라이브러리의 소스를 사용하는 것입니다 내 프로젝트로 .Jar를 라이브러리로 참조하는 대신 .Jar 파일로 모두 빌드하면이 결과를 얻을 수 있습니까? – Hobbyist

관련 문제