web-dev-qa-db-ja.com

バージョンなしでMavenでプロジェクトをビルドする方法

私のプロジェクトの1つでは、バージョンなしで1つのプロジェクトを構築する必要があります。 mavenを使用してビルドするときにcommonjerseylibを呼び出すプロジェクトが1つあります。commonjerseylib-1.0.warを取得していますが、warファイル名commonjerseylib.warが必要です。

Pomからバージョンタグを削除しますが、デフォルトではmavenは1.0バージョンで作成されます。

前もって感謝します

<modelVersion>4.0.0</modelVersion>
  <groupId>commonjerseylib</groupId>
  <artifactId>commonjerseylib</artifactId>
  <packaging>ear</packaging>
  <name>commonjerseylib</name>
  <!--<version>1.0</version>-->
64
user1137387

プロジェクトには常にバージョン番号が必要ですが、POMの<finalName>要素を使用して、生成されたパッケージの名前(JAR、WAR、EARなど)を変更することができます。

<project>
    ...
    <build>
        ...
        <finalName>${project.artifactId}</finalName>
        ...
    </build>
    ...
</project>

または、古いバージョンのmavenの場合:

        ...
        <finalName>${artifactId}</finalName>
        ...

デフォルトでは、finalNameは${project.artifactId}-${project.version}ですが、これは別のものに変更できます。これは、targetディレクトリに作成されたパッケージの名前にのみ影響します。ローカルリポジトリ内のファイル名とリモートリポジトリにアップロードされたファイル名には、常にバージョン番号が付けられます。

詳細については、 POMリファレンスドキュメント を参照してください。

139
prunge

ビルドのmaven warプラグインで、変更

<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>
10
kuhajeyan