버전없이 빌드하려는 메이븐 프로젝트가 있습니다.
이제 maven을 사용하여 프로젝트를 빌드하면 이것을 생성 commonjerseylib-1.0.war
하지만 생성 해야합니다 commonjerseylib.war
.
그 외에도 <version>
태그를 제거 pom.xml
했지만 Maven은 war
기본적으로 버전 1.0으로 생성하고 있습니다.
내 pom.xml
:
<modelVersion>4.0.0</modelVersion>
<groupId>commonjerseylib</groupId>
<artifactId>commonjerseylib</artifactId>
<packaging>ear</packaging>
<name>commonjerseylib</name>
<!--<version>1.0</version>-->
버전없이 빌드하는 방법은 무엇입니까?
답변
프로젝트의 버전 번호는 항상 필요하지만 <finalName>
POM 의 요소를 통해 생성 된 패키지 (JAR, WAR, EAR 등)의 이름을 변경할 수 있습니다 .
<project>
...
<build>
...
<finalName>${project.artifactId}</finalName>
...
</build>
...
</project>
또는 이전 버전의 maven에서 :
...
<finalName>${artifactId}</finalName>
...
기본적으로 finalName은 ${project.artifactId}-${project.version}
이지만 다른 것으로 변경할 수 있습니다. 이는 target
디렉토리에 생성 된 패키지의 이름에만 영향을 미칩니다 . 로컬 저장소에 있고 원격 저장소에 업로드 된 파일 이름에는 항상 버전 번호가 있습니다.
자세한 정보는 POM 참조 문서 를 참조하십시오.
답변
빌드, 변경의 메이븐 전쟁 플러그인에서
<warName> ${artifactId} </warName>
<build>
..........
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<!-- web.xml is not mandatory since JavaEE 5 -->
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${artifactId}</warName>
</configuration>
</plugin>
.............
<build>
답변
pom의 아래 코드 줄로 수정했습니다.
… … $ {project.artifactId} … …