2012-04-06 2 views
6

다른 jar 파일 ~ 40 개의 파일에 수백 MB 가량 포함되는 큰 jar 파일이 있습니다. 이 jar 파일에 대한 의존성 문제가 걱정되므로 컴파일 타임에이 jar의 Manifest 파일에 필요한 종속성을 추가하고 싶습니다. 이 방법에 부정적인 단점이 있는지 궁금합니다. 클래스로드 시간에 대한 테스트를 해봤지만 실제로 영향을받지 않는 것 같습니다.클래스 패스에 너무 많은 jar 파일을 포함하는 것의 영향

종속성을 jar의 매니페스트로 옮기려하는 또 다른 이유는 너무 많은 파일에서 명령 줄이 길어지고 읽기가 어렵다는 것입니다. 우리는 JVM으로 전달되는 -XX 옵션 등을 많이 가지고 있지만 매니페스트 나 설정 파일의 일부를 설정할 수있는 방법이없는 것처럼 보입니다.

+0

개인적으로 모든 옵션과 jar 파일을 수작업으로 작성하는 대신 프로그램을 시작하기 위해 개인적으로는 사소한 스크립트를 사용했습니다. 매니 페스트에 항아리를 추가하는 것에는 아무런 문제가 없지만 한 번에 모든 문제를 해결합니다. – Voo

+0

Voo - 댓글을 주셔서 감사합니다. 저는 현재 스크립트를 사용하고 있습니다. 두 가지 문제는 실행중인 프로세스를 살펴볼 때 모든 Java 인스턴스가 거의 전체 터미널 창을 차지하는 지점에 도달한다는 것입니다. 둘째, 다른 사람들이이 항아리를 자유롭게 사용하고 원하는대로 그것을 호출 할 수 있습니다. 나는 컴파일과 런타임 사이에 링크가 있다면 선호한다. – john

답변

3

이 병에 의존한다면 괜찮습니다. 40 종속성은 그다지 많지 않습니다. 실제로는 문제를 고려하지 마십시오. 사용하지 않는 의존성을 포함하지 않도록하십시오.

+0

사용하지 않은 deps가 어떤 문제를 일으키는 지 나는 알지 못합니다. 물론 그들은 크기를 약간 날려 버린다 (그리고 불필요하다). 그러나 클래스 로더는 게으르다. 왜 그것이 많은 문제가되는지 알지 못한다. – Voo

+0

아마도 제 질문의 핵심이라고 생각합니다. 항아리에 종속성을 연결하는 것은 사용하지 않은 항아리가 있음을 의미합니다. 항아리가 사용되는 방법에 따라 많은 사람들이 운동을하지 않을 수 있습니다. 나는이 병을 위로 나눈 경우에 이상적이라고 생각합니다. 불행히도이 경우 옵션이 아닙니다. – john

관련 문제