중앙 넥서스 저장소에 배포 할 수 있도록 많은 (약 50 개 이상의) maven2 프로젝트를 구성하는 방법을 알아 내려고합니다. mvn deploy
목표를 사용할 때 다음과 같이 distributionManagement 태그에 대상을 지정해야합니다.
<distributionManagement>
<repository>
<id>nexus-site</id>
<url>http://central_nexus/server</url>
</repository>
</distributionManagement>
이제 모든 단일 pom.xml (50 개 이상)이이 블록을 반복해서 포함하는 것을 원하지 않습니다. 내 첫 번째는settings.xml
파일 파일이지만 (설계 상) 거기에서 정의하는 것이 불가능한 것 같습니다. 그래서, 첫 번째 질문은 왜 그럴까요? 가능하다면 모든 개발자에게 배포 할 수있는 maven2 배포의 settings.xml에서 지정할 수 있습니다.
내가 찾은 유일한 해결책은 이러한 설정을 포함하는 조직 전체의 master-pom 프로젝트를 만들고 다른 모든 pom.xml이 <parent>
태그 를 통해이 master-pom에 종속되도록하는 것 입니다. 그러나 이것은 다중 모듈 빌드에서 다소 이상하게 보입니다.
- master configuration POM (pm)
- Project 1 parent pom (p1 with module 1 and module 2 as modules)
- Project 1 module pom (with pm as parent)
- Project 2 module pom (with pm as parent)
일반적으로 모든 문서에서 모듈 poms가 부모 pom을 사용해야한다고 읽었습니다. 그러나 Inheritance v. Aggregation에 대한 maven 웹 사이트를 읽은 후 실제로 가능하다고 기록되었습니다.
내가 찾은 한 가지 문제는 maven 사이트 생성과 관련 하여이 설정에 문제가있는 것 같습니다 (직접 역 참조가없는 경우 모듈이 올바르게 연결되지 않음)
그렇다면 이것이 유효한 접근 방식입니까? 문제에 대한 다른 더 분명하고 간단한 해결책이 있습니까?