우리는 사내 프레임 워크 프로젝트 중 하나를 개미에서 maven으로 변환했습니다. Maven 빌드는 정상적으로 실행되며 문제없이 저장소에 배포됩니다.maven 프레임 워크 최상위 레벨의 설정 방법
문제는 다른 프로젝트가 프레임 워크를 소비하려고 시도 할 때 작동하지 않는다는 것입니다. 다운로드 된 유일한 것은 최상위 프레임 워크입니다.
하나 이상의 다양한 모듈에 종속성 항목을 추가하려고했지만 어떤 항목을 추가해도 순환 종속성 오류가 발생합니다. 나는 또한 저장소 관리자에있는 파일을 덮어 쓰기 위해 모듈과 몇 가지 의존성이없는 두 번째 최상위 수준의 pom 파일을 만들려고했다. 이로 인해 종속성 중 일부가 다운로드되지만, Maven 빌드는 임의의 위치에 정지합니다. Windows 작업 관리자를 기반으로, 그것은 마치 무한 루프에서와 같습니다. 그래서 두 번째 pom 파일이 대답이 아닌 것으로 보입니다. 최고 수준의 POM
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>framework_snt</groupId>
<artifactId>SFP</artifactId>
<packaging>pom</packaging>
<name>SFP framework</name>
<version>6.3</version>
<modules>
.... 50+ modules here
</modules>
후 일반적인 특성, 의존성 관리와 pluginManagement 항목 :
내 프레임 워크 치어 파일은 다음과 같이 보입니다. 소비 모듈
난 그냥 다음과 같습니다
<dependency>
<groupId>framework_snt</groupId>
<artifactId>SFP</artifactId>
<version>6.3</version>
<type>pom</type>
</dependency>
이 최상위 POM에 그렇게 모든 서브 모듈은 개발자에 쉽게 만들 수있는 프레임 워크 라이브러리에 액세스 할 수 있습니다.
소비 프로젝트별로 모든 종속 jar 파일을 다운로드하려면 어떻게 설정해야합니까?
네, 이것은 일을 성취하는 한 가지 방법 일 것입니다. 그러나 우리가 기존의 앤트 빌드를 변환하는 것처럼, 모든 사람들은 "프레임 워크"를 포함하고 50 개의 모든 jar 파일을 항상 사용할 수있게하는 데 익숙합니다. – Jon
나는 자식 모듈 ("framework-all"또는 무엇이라고 불리는)이 다른 모든 자식 모듈에 대한 의존성을 선언하도록 시도 할 수있다. 그런 다음 개발자는이 자식 모듈에 대한 의존성을 선언 할 수 있어야하며, maven은 다른 종속성을 다른 종속성으로 가져옵니다. – BenjaminLinus
나는 이것에 변이를 사용하여 끝냈다. 나는 최상위 레벨 어 그리 게이터 pom을 구축 및 배치에 사용하도록 유지했습니다. GAV는 응용 프로그램에서 사용하는 것과 동일하지 않습니다. 그런 다음 새 폴더에 새 폴더를 만들었습니다. 여기에는 응용 프로그램에 대한 "올바른"GAV가 포함되며 모듈은없고 종속성 만 있습니다. 지금까지이 작품 – Jon