프로젝트를 다른 프로젝트의 종속성으로 추가하려면 어떻게합니까?
두 개의 독립적 인 프로젝트 ( myWarProject
및 MyEjbProject
)가 있습니다. 그래서 빌드 할 때를 로컬 저장소에 myWarProject
설치해야 MyEjbProject
하므로 myWarProject에서 종속성으로 정의하고 myWarProject를 성공적으로 패키징 할 수 있습니다.
MyEjbProject
별도로 설치 하지 않고 부모 모듈로 정의하지 않고 이것을 처리하는 방법이 있습니까?
나는 이것이 개미 빌드를 통해 달성 될 수 있다는 것을 알고 있지만 maven을 통해 처리하는 방법이 있는지 궁금합니다.
"pom"으로 부모 프로젝트를 만들고 다른 두 프로젝트를 부모 프로젝트 아래로 이동할 수 있습니다. 그러나 불행히도 현재 우리는 이미 구조를 변경할 수없는 CVS에 별도의 프로젝트로 두 개를 가지고 있기 때문에 이것을 할 수 없습니다. pom 파일을 통해 이것을 처리 할 수 있다면 이것이 제가 찾고있는 것입니다.
MyEjbProject가 소유하거나 maven으로 빌드하려는 다른 Maven 프로젝트가 아니라고 가정하면 시스템 종속성을 사용하여 프로젝트의 기존 jar 파일에 연결할 수 있습니다.
<project>
...
<dependencies>
<dependency>
<groupId>yourgroup</groupId>
<artifactId>myejbproject</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>path/to/myejbproject.jar</systemPath>
</dependency>
</dependencies>
...
</project>
즉, 일반적으로 패키지를 메이븐 프로젝트로 만들고 빌드하거나 이미 수행 한 것처럼 설치하여 저장소에 패키지를 설치하는 것이 더 좋습니다 (그리고 선호되는 방법).
그러나 서로 종속되어있는 경우 다른 두 프로젝트를 "모듈"로 선언하는 별도의 상위 프로젝트 ( "pom"프로젝트 여야 함)를 항상 만들 수 있습니다. (하위 프로젝트는 세 번째 프로젝트를 부모로 선언 할 필요가 없습니다). 결과적으로 새 상위 프로젝트를위한 새 디렉토리를 얻게되며, 여기에 다음과 같이 두 개의 독립 프로젝트를 넣을 수도 있습니다.
parent
|- pom.xml
|- MyEJBProject
| `- pom.xml
`- MyWarProject
`- pom.xml
상위 프로젝트는 모든 하위 모듈의 이름을 지정하는 "모듈"섹션을 가져옵니다. 그런 다음 애그리 게이터는 하위 모듈의 종속성을 사용하여 실제로 프로젝트가 빌드 될 순서를 찾습니다.)
<project>
...
<artifactId>myparentproject</artifactId>
<groupId>...</groupId>
<version>...</version>
<packaging>pom</packaging>
...
<modules>
<module>MyEJBModule</module>
<module>MyWarModule</module>
</modules>
...
</project>
이렇게하면 프로젝트가 서로 관련 될 수 있지만 (로컬 저장소에 설치되면) 여전히 다른 프로젝트의 아티팩트로 독립적으로 사용됩니다.
Finally, if your projects are not in related directories, you might try to give them as relative modules:
filesystem
|- mywarproject
| `pom.xml
|- myejbproject
| `pom.xml
`- parent
`pom.xml
now you could just do this (worked in maven 2, just tried it):
<!--parent-->
<project>
<modules>
<module>../mywarproject</module>
<module>../myejbproject</module>
</modules>
</project>
'programing' 카테고리의 다른 글
Hibernate Criteria vs HQL : 어느 것이 더 빠릅니까? (0) | 2020.11.13 |
---|---|
CommonJS는 무엇이며 .js 애플리케이션을 작성하는 데 도움이 될 수있는 이유는 무엇입니까? (0) | 2020.11.12 |
Angular 6에서 서비스를 생성 할 때 Injectable 데코레이터와 함께 제공되는 목적은 무엇입니까? (0) | 2020.11.12 |
컬러 휠 생성 기능 (0) | 2020.11.12 |
React.js 구성 요소 확장 (0) | 2020.11.12 |