2012-03-06 4 views
45

のないmavenを使ってプロジェクトをビルドする方法バージョンなしでプロジェクトを1つビルドする必要があります。 私は1つのプロジェクトコールcommonjerseylibを持っている私はcommonjerseylib-1.0.warを取得していますが、私は戦争のファイル名commonjerseylib.war私のプロジェクトの1つにバージョン

を必要とMavenを使用して、それを構築するときに私がポンポンからのバージョンタグを削除しますが、まだデフォルトの達人で1.0で作成されましたバージョン。

あなたは常にしかし、を通じて生成されたパッケージ(JAR、WAR、EARなど)の名前を変更することができ、プロジェクトのバージョン番号が必要になります事前に

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

答えて

102

をありがとう<finalName>要素をPOMに追加します。

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

やMavenの古いバージョンで:デフォルトでは

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

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

詳細については、POM reference documentationを参照してください。ビルドでMavenの戦争のプラグインで

+0

! – Thomas

+6

少なくともMaven 3.0.3以降、$ {artifactId}は$ {project.artifactId}の方が推奨されていません。 – Glenn

+0

@prunge:答えをありがとう。ローカルリポジトリとリモートリポジトリのファイル名に影響を与えるので、それを行う方法を知っていますか? – namalfernandolk

6

、完璧なクリアできれいなのです変更

<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> 
関連する問題