2017-02-02 1 views
0

でMavenのアセンブリのプラグインを使用してファイルの空の私のpom.xmlが、私はジップポンポン

....... 
.......... 
    <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.5.3</version> 
      <configuration> 
       <finalName>${project.artifactId}</finalName> 
       <descriptor>assembly.xml</descriptor> 
      </configuration> 
      <executions> 
       <execution> 
        <id>create-archive</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
    </plugin> 
.......... 
....... 

マイassembly.xmlが

<assembly 
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> 
    <id>${project.version}</id> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <formats> 
     <format>zip</format> 
    </formats> 
    <fileSets> 
     <fileSet> 
      <directory>${project.basedir}/${create.stage.directory}</directory> 
      <includes> 
       <include>*.*</include> 
      </includes> 
      <outputDirectory>${project.basedir}/${create.release.directory}</outputDirectory> 
     </fileSet> 
    </fileSets> 
</assembly> 

これは、ターゲットでEMPTY foldername.zipを作成しているようなものを書かれています!!私が乗っている出力フォルダーの場所にではありません。それは常に目標ですか?私は上書きできませんか? しかし、私は3つのフォルダ(いくつかのファイル)とreadme.txtを持っています。* .txtをインクルードタグの中に入れようとしましたが、まだ空のzipフォルダがあります。私は当初、私のディレクトリパスと出力ディレクトリのパスが間違っている可能性があると推測しました。

詳細については(この質問が重複していないが、類似した、と私はthis.theyに関連stackoverflowの質問には何も解決していないほとんどすべて試してみましたが)助け

+0

達成したいことはありますか? '$ {create.stage.directory}'とは何ですか?プロジェクトのソースパッケージを作成しますか? – khmarbaise

答えて

1

くださいhttp://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_fileSet

あなたの記述は今見ますこのように構成された:

  • エクステを持つすべてのファイルを置くディレクトリ${project.basedir}/${create.stage.directory}から${project.artifactId}
  • と呼ばれるzipファイルを作成しますnsion(ディレクトリではなく、*.*と書かれているので、フォルダの**/*.*のようなものではありません。のジップです。

特に最後の部分が奇妙です。これらのファイルはどこで圧縮されるべきですか?予測可能にするには、相対のパスにする必要があります。

ターゲットに作成するzipファイルが嫌いですか?アセンブリ記述子ではなく、プラグインのコンフィグレーションにoutputDirectoryを設定します。

+0

あなたのhelp.Iのおかげで本当にあなたの助けを借りて空のジッパーの問題を解決しました。 1)しかし、まだ出力されている問題は解決されていません。デフォルト値は$ {project.build.directory}なので、常にターゲットディレクトリ内に入ります。 2)別の問題は、a/b/cの中身を圧縮したいのですが、cの内容を圧縮してzipフォルダを開いた後、a/b/x構造を見ていますが、 :(: '( –

+0

上記の申し訳ありません1点も解決されました。私は間違って入力しました。しかし、\ b \ c構造体ではなくcを取得するには –

+0

ファイルセットの 'directory'を' $ {project .basedir}/$ {create.stage.directory}/a/b' –