2009-04-28 5 views
4

Maven2を使用してデスクトップアプリケーションをビルドします。Mavenでリリースパッケージを作成するには?

私は随時リリースしたいと思います(すべてのプロジェクトとサードパーティのjarを1つのdirにコピーしてrun.batファイルを生成するだけです)。

どうすればよいですか?

答えて

8

あなた自身run.batを作成し、SRC /メイン/アセンブリ/に配置する必要があります例えば、スクリプト。次に、src/main/assemblyにassembly.xmlファイルを作成する必要があります。

ここでは、使用したいかもしれないassembly.xmlファイルの例を示します。すべての依存関係jarとrun.batでtar.gzを作成します。あなたがあなたのtar.gz形式で作成されるはずです "MVNのインストール" を実行するとき、今すぐ

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      <descriptors> 
       <descriptor>src/main/assembly/assembly.xml</descriptor> 
      </descriptors> 
     </configuration> 
     <executions> 
      <execution> 
       <phase>package</phase> 
       <goals> 
        <goal>attached</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 

<assembly> 
    <id>1.0</id> 
    <formats> 
     <format>tar.gz</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
     <dependencySet> 
      <outputDirectory>/lib</outputDirectory> 
     </dependencySet> 
    </dependencySets> 
    <fileSets> 
     <fileSet> 
      <directory>target</directory> 
      <outputDirectory>/lib</outputDirectory> 
      <includes> 
       <include>*.jar</include> 
      </includes> 
     </fileSet> 
     <fileSet> 
      <directory>src/main/assembly/scripts</directory> 
      <outputDirectory>/scripts</outputDirectory> 
      <includes> 
       <include>*.bat</include> 
      </includes> 
     </fileSet> 
    </fileSets> 
</assembly> 

最後に、あなたのpom.xmlファイルにアセンブリプラグインを追加します。

MVNリリース:
MVNのリリースを準備:あなたの.BATファイルを持つパッケージjarファイルを実行しますdogbane

によって与えられた答えにだけ加え

0

を実行し、実行を解放するために

アプリケーションの現在のバージョンを反映するファイル名。

java -Xms256m -Xmx350m -jar bin\yourApp-1.10.1-SNAPSHOT.jar 

このファイルはすべて、アプリケーションの新しいバージョン名で更新する必要があります。これも自動化することができます。 yourApp.batファイルの

src/main/assembly/scripts 

内容:これは、フォルダ内のyourApp.batファイルを入れていることをasumes

<build> 
    <resources> 
    <resource> 
     <filtering>true</filtering> 
     <directory>${project.build.sourceDirectory}/../assembly/scripts</directory> 
     <includes> 
     <include>yourApp.bat</include> 
     </includes> 
    </resource> 
    ... 
    </resources> 
    ... 
</build> 

:あなたのpom.xmlファイルで

このセクションを追加

java -Xms256m -Xmx350m -jar bin\${project.build.finalName}.jar 

Mavenコマンドを実行して楽しむだけです。

+0

良いアイデアだが、うまくいかない。代わりに、フィルタリングフラグをアセンブリxmlのファイルセット要素に追加する必要がありました。 –

1

OK私はassemlby.assembly /メイン私自身assemlbyファイルのsrc /を使用dogbaneの答え

の少しの助けを借りてそれを得ました。そう、それは完全には満足ではないですが行います - XML

<assembly> 
    <id>teleinf</id> 
    <formats> 
     <format>dir</format> 
    </formats> 
    <moduleSets> 
     <moduleSet> 
     <includes> 
      <include>pl..........:core</include> 
      <include>pl..........:gui</include> 
     </includes> 
     <binaries> 
      <outputDirectory>../../release</outputDirectory> 
      <unpack>false</unpack> 
     </binaries> 
     </moduleSet> 
    </moduleSets> 
    <fileSets> 
     <fileSet> 
     <directory>src/main/assembly/</directory> 
     <outputDirectory>../../release</outputDirectory> 
     <includes> 
      <include>*.bat</include> 
     </includes> 
     </fileSet> 
    </fileSets> 
</assembly> 

とは

<plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      <descriptors> 
       <descriptor>src/main/assembly/assembly.xml</descriptor> 
      </descriptors> 
     </configuration> 
    </plugin> 

私は自分自身run.batを書かなければならなかったPOMするには、以下の追加します。

関連する問題