2013-05-14 8 views
6

てzipファイルを作成しながら、同じプラグインを使用してビュンながら、どのように私はは、いくつかのファイルの名前を変更ことができ、ファイルの名前を変更?私はジップ</strong>を作成</strong>プラグイン<strong>に<strong>のmaven-アセンブリを使用していますMavenのアセンブリのプラグイン

更新:

これはこれは私がそのjarファイルを取得し、それを開梱し、ファイルの名前を変更していますAssembly.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<assembly 
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly- 
    plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
<formats> 
    <format>tar.gz</format> 
</formats> 
<id>online</id> 
<includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySet> 
     <outputDirectory>resources</outputDirectory> 
     <unpack>true</unpack> 
     <includes> 
      <include>${project.groupId}:core-config:jar</include> 
     </includes> 
     <unpackOptions> 
      <includes> 
      <include>coresrv/env-config.D1.properties</include> 
      </includes> 
     </unpackOptions> 
    </dependencySet> 
    <files> 
    <file> 
     <source>${project.groupId}/core-config.jar/coresrv/env-config.D1.properties</source> 
     <outputDirectory>/</outputDirectory> 
     <destName>env-config.properties</destName> 
    </file> 
</files> 
</assembly> 

でポンポンでプロファイル

<profile> 
     <id>D1</id> 
     <activation> 
      <property> 
       <name>D1</name> 
       <value>true</value> 
      </property> 
     </activation> 
     <build> 
      <plugins>    
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-assembly-plugin</artifactId> 
        <version>2.2.2</version> 
        <executions> 
         <execution> 
          <phase>package</phase> 
          <goals> 
           <goal>single</goal> 
          </goals> 
          <configuration> 
           <descriptors> 
            <descriptor>assembly/online-distribution.D1.xml</descriptor> 
           </descriptors> 
           <appendAssemblyId>false</appendAssemblyId> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 

ですそれをもう一度圧縮する。あなたはすべての依存関係のためのマッピングパターンを設定

<outputFileNameMapping>...</outputFileNameMapping> 

は、このアセンブリに含まれて使用することができます おかげ

+0

使用しているPOMファイルとディスクリプタを表示できますか? – khmarbaise

+0

こんにちは、お返事ありがとうございます。私は更新しました。 –

+0

あなたの記述子が正しいこと、それが間違って見える(dependencySet)、dependencySetsなしであることを確認してください。あなたには警告がありませんか?さらに最新バージョンのmaven-assembly-plugin(2.4)を使ってみませんか? – khmarbaise

答えて

9

は使用しています

デフォルト値:私は同じ問題に直面

${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}. 
+0

dependencySet要素の中でも、いくつかの依存関係の名前を変更するだけで動作します。 –

2

、Iいくつかのファイルの名前を変更して解凍して解決する必要があります。解決策として、maven-assembly-pluginの2つの実行を使用することができます。

最初の実行時には、アーカイブ形式の1つではなくdirの形式を使用し、ファイルの内容を準備します。結果として、必要なすべてのファイルを含むフォルダが作成されます。第二の実行中に

我々はfilesfileSetsにソースとして前回の実行からフォルダを使用しますと、私たちはfiles.file.destNameを使用して任意のファイルの名前を変更することができるようになります、第二の実行のためのフォーマットとして、私たちは、最終的なアーカイブを作成するzipのようなアーカイブフォーマットを使用することができます。

1

後世のために古い投稿に回答する...次回はGoogleに依頼して送信します。

名前変更はMavenの中に痛みをすることに使用される、このプラグインは、錫で言うされているものが行われます(Maven centralで利用可能)

copy-rename-maven-plugin

使いやすい:

 <plugin> 
      <groupId>com.coderplus.maven.plugins</groupId> 
      <artifactId>copy-rename-maven-plugin</artifactId> 
      <version>1.0.1</version> 
      <executions> 
       <execution> 
        <id>copy-properties-file</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>copy</goal> 
        </goals> 
        <configuration> 
         <sourceFile>source.props</sourceFile> 
         <destinationFile>destination.properties</destinationFile> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

注:renameの目標は、ターゲット内のファイルを移動します/

関連する問題

 関連する問題