나는 이것이 잘못된 것으로 생각 될지도 모른다는 것을 이해하지만, 설치하려고 할 때 WAR로 패키징 될뿐만 아니라 단일 WAR을 포함하는 EAR로 추가되는 Maven POM (모듈)을 갖도록 시도합니다.분류기를 사용하여 해당 WAR를 하나의 모듈로 포함하는 WAR 및 EAR을 생성합니다.
명확히하기 : 프로젝트의 각 기존 WAR를 자신의 EAR에 래핑하려고합니다.
내 욕망의 이유는 릴리스 된 WAR을 패키지화하여 EAR에 포함되도록 (즉, 개발 용이성을 위해 독립적 인 WAR 아티팩트를 생성하기 위해) WAR를 패키지하는 방식을 재구성하려는 것이기 때문입니다. WAR에 의존하는 새로운 모듈을 생성하고 EAR에 패키지를 만들고 싶지 않습니다. 왜냐하면 WAR가 많기 때문입니다.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
...
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>se-index-webapp</artifactId>
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
...
</configuration>
</plugin>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.7</version>
<configuration>
<finalName>search-index.ear</finalName>
<classifier>ear</classifier>
<unpackTypes>war</unpackTypes>
<modules>
<webModule>
<groupId>${project.groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<uri>search-index.war</uri>
<bundleFileName>search-index.war</bundleFileName>
<contextRoot>/SearchIndex</contextRoot>
</webModule>
</modules>
</configuration>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
...
</dependencies>
</project>
내가 오류 얻을 :
현재 나는 분류 사용 성공없이 기존 WAR 모듈 중 하나, 를 들어,이 노력하고
Artifact[war:myproject:se-index-webapp] is not a dependency of the project
을 무엇인가 I 가능 하려고?
전쟁 프로젝트의 pom.xml에 전쟁 만 처리하고 배포시 별도의 "deploy-as-ear"pom.xml을 호출하는 것을 고려하십시오. –
청소기를 사용하려는 경우이 방법을 사용할 수 없습니다. 내 지식에 당신이하려고하는 것은 암묵적으로 무한 의존성주기를 만들어 내기 때문에 불가능합니다. Maven 사용자 ML –
에서 더 나은 옵션을 찾을 수 있습니다. 직장에서 귀 내부의 프로젝트 종속성과 아티팩트를 패키지화하고 이슈 형식을 기반으로 배포 설명자를 생성하는 사용자 지정 Maven 플러그인을 만들었습니다. 마른 전쟁을 일으키기 위해 구성된 전쟁 플러그인과 함께하면 효과적입니다. 프로젝트는 기본적으로 비슷한 pakcaging을 사용하는 oracle jdeveloper로 생성되었습니다. 어떻게 든 게시 할 수 있는지 확인해야합니다. –