2012-08-10 3 views
1

Maven 프로젝트가 없습니다. 내가 가진 파일은 pom.xml 인 jar 파일입니다. Artifactory GUI를 통해이를 배포하면 Artifactory가 pom을 찾아이를 병에 배치합니다. 그것은 심지어 groupId, artifactId 및 version을 인식합니다.Maven : pom.xml 파일이 내장 된 jar/war 배포

mvn deploy:deploy-file을 사용해도 문제가 발생합니다. pom을 추출한 후 mvn deploy:deploy-file-DpomFile=pom.xml으로 실행하면 작동합니다. Maven 명령 줄을 통해 임베디드 pom과 함께이 jar를 배포하는 방법이 있습니까? 아니면 먼저 pom.xml을 추출해야합니까?

답변

0

아카이브에서 pom 파일을 지정할 가능성에 대해 들어 보지 못했습니다. Maven 자체가 플러그인으로 실행되는 경량 프로그램이기 때문에 옵션이 될 것 같지는 않습니다. 실행할 구성이 필요합니다. 사용되는 플러그인에 대한 모든 참조는 해당 파일에 있습니다.

파일을 추출 할 Ant 스크립트를 작성하고 mvn deploy:deploy-file -DpomFile=pom.xml을 실행 한 다음 파일을 삭제하십시오.

해결책은별로 좋아 보이지 않지만 도움이 될 것입니다.

+0

아마도 맞을 것입니다. 내가 원래하고 있었던 것은'pom.xml' 파일을 만들고 그것을 Jenkins에 저장하는 것입니다. 그러나 Artifactory에 jom w/embedded pom.xml을 배포하고 Artifactory가 그것을 발견하여 사용했습니다. 어쩌면 이것이 표준 메이븐 (Maven) 일이라고 생각 했겠지만, 어쩔 수 없다. 이전 방법으로 되돌리고 이전과 같이'deploy : deploy-file'을 사용합니다. –

0

이것은 Artifactory 기능이며 표준 Maven 동작이 아닙니다.

예를 들어 dependency : unpack-dependencies를 사용하거나 어셈블리 플러그인을 사용하여 여러 가지 jar 파일을 만드는 경우/META-INF/path 아래에 여러 개의 pom.xml 파일이 있습니다. 그래서 어느 pom이 진짜 pom인지 선택하는 것은 매우 어려울 것입니다.

관련 문제