2017-04-12 15 views
-1

다른 Java 응용 프로그램에서 쉽게 재사용 할 수 있도록 클라이언트를 작성한 일련의 웹 서비스 API가 있습니다. 이제 웹 서버 외부의 환경에서 클라이언트를 사용할 수 있어야합니다. maven-assembly-plugin을 사용하여 클라이언트의 종속성을 모두 포함하는 zip을 작성했으며 wildfly가 제공하는 종속성을 제외하고는 제대로 작동했습니다. 적절한 resteasy jar 파일을 명령 줄 앱에 추가했는데 모든 것이 작동합니다. 이제 클라이언트를 2 가지 방법으로 패키징 할 수 있기를 원합니다. resteasy 단지와없이. 아파치 그늘 플러그인은 좋은 옵션처럼 보이지만 프로젝트에서 참조되지 않는 추가 종속성 (resteasy)을 포함하는 방법을 볼 수 없습니다. 아무도이 짓을 한거야?Java에서 webservice 클라이언트 jar 패키징에 도움이 필요합니다.

편집 : maven-assembly-plugin과 maven-shade를 모두 시도했습니다. 내가 항아리를 배치하려고 시도 할 때까지 그늘은 유망 해 보였다. 재 패키징 된 종속성 jar가 서명되었으므로 보안 경고가 발생하여 재 패키징하면 오류가 발생합니다. 어쨌든 프로파일을 사용하는 것이 키의 일부인 것처럼 보입니다. 나는 resteasy dependencies를 포함 할 별도의 프로필을 pom에 설정할 수 있으므로 원하는 경우에만 포함 시키십시오.

답변

0

이 질문을 보는 다른 사람들에게이 문제를 완전히 해결하지는 못했지만 프로필을 추가하는 것이 핵심 요소입니다. 당신의 프로파일에 프로파일을 추가한다면, 그 프로파일 아래에서만 의존성을 추가 할 수 있습니다. 해당 프로필에서 maven-assembly-plugin과 resteasy dependencies를 추가하면 정규 릴리스에 영향을주지 않고 모든 종속성을 포함하는 jar를 빌드 할 수 있습니다.