GUI가없는 java 명령 줄 프로젝트를 만들고 있습니다. 이 프로젝트는 Spring, Logback, Commons CLI 등 많은 오픈 소스 프로젝트를 사용합니다. 패키징에 대해 생각하기 시작했을 때, lib 파서와 함께 jar 파일로 압축 될 수있는 zip 파일로 생성 될 것이라고 생각했습니다. 디렉토리 및 lib에있는 종속 jar.명령 줄 Java 프로젝트를 패키지하는 가장 좋은 방법
adapter.jar
/lib/dependencyA.jar
/lib/dependencyB.jar
etc.
나는 메이븐 총회와 함께 연주했지만, 여전히 위와 같이 나오는 아니에요, 나는 위의 구조를 생성 할 예제를 발견하지 않았습니다. 그렇게 할 수 있습니까? 또한 다중 모듈 구조를 사용하면 어셈블리 모듈이 코어 모듈을 종속성으로 찾을 수 없기 때문에 해결할 수 없었던 복잡성이 추가됩니다. 이것이 첫 번째 Maven 프로젝트이므로 Maven이 작동하는 방식을 여전히 학습하고 있습니다. 나는 소나타 형식의 책을 훑어 보았지만 Best Practices 섹션을 사용해도 빠진 의존성을 해결할 수 없었기 때문에 무언가를 놓쳤다. 필자가 보았던 예제는 일반적으로 음영 프로젝트를 사용하는 uber 실행 가능한 jar로 병합하는 작업을 포함합니다. 제 질문은 Spring과 같은 타사 라이브러리를 포함하는 uber jar를하는 것입니다. 또는 원래의 zip/lib 하위 디렉토리 계획을 인내해야합니까?
답장을 보내 주셔서 감사합니다. 나는 그것에 대해 더 많은 연구를하고 문제를 해결했지만, 이것이 올바른 접근 방법인지에 관해서는 여전히 현명하지 않다. 내 원래의 질문은 uber - jar와 함께 할 것인지 또는 lib 계획으로 계속할 것인지 여부입니다. 전략에 대한 조언이나 참고 자료가 있습니까? –
답장을하기 시작했지만 그 다음에 내가 더 많이 말하고 있다는 것을 알았습니다. 그래서 대답에 대한 주관적이었습니다. 그래서 블로그 항목을 대신 작성했습니다. 보세요. 당신의 생각을 알려주세요. http://foobarbazqux.blogspot.com/2011/09/common-scenarios-for-java-application.html – ddimitrov
예, 블로그 항목은 매우 유용하며 몇 가지 사항을 제기했습니다. 고려하지 않았다 - 고마워! –