2011-08-05 11 views
0

Mac 10.6.6でMaven 3.0.3を使用しています。私の戦争をパッケージ化した後、unzipコマンドを実行したい(私は展開したwarディレクトリを削除するGrailsプラグインを使っているので、これをやりたい)。だから私は、私が間違ってやっているMaven execプラグインの質問

[INFO] --- exec-maven-plugin:1.1.1:exec (default-cli) @ jx --- 
[INFO] UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send 
[INFO] bug reports using http://www.info-zip.org/zip-bug.html; see README for details. 
[INFO] 
[INFO] Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] 
[INFO] Default action is to extract files in list, except those in xlist, to exdir; 
[INFO] file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage). 
[INFO] 
[INFO] -p extract files to pipe, no messages  -l list files (short format) 
[INFO] -f freshen existing files, create none -t test compressed archive data 
[INFO] -u update files, create if necessary  -z display archive comment 
[INFO] -x exclude files that follow (in xlist) -d extract files into exdir 
[INFO] 
[INFO] modifiers:         -q quiet mode (-qq => quieter) 
[INFO] -n never overwrite existing files   -a auto-convert any text files 
[INFO] -o overwrite files WITHOUT prompting  -aa treat ALL files as text 
[INFO] -j junk paths (do not make directories) -v be verbose/print version info 
[INFO] -C match filenames case-insensitively  -L make (some) names lowercase 
[INFO] -X restore UID/GID info     -V retain VMS version numbers 
[INFO] -K keep setuid/setgid/tacky permissions -M pipe through "more" pager 
[INFO] Examples (see unzip.txt for more info): 
[INFO] unzip data1 -x joe => extract all files except joe from zipfile data1.zip 
[INFO] unzip -p foo | more => send contents of foo.zip via pipe into program more 
[INFO] unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 

任意のアイデア...私はプラグインを起動するコマンドを実行したとき

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.1.1</version> 
    <configuration> 
     <executable>unzip</executable> 
     <arguments> 
      <argument>-d target/jx-1.0-SNAPSHOT target/jx-1.0-SNAPSHOT.war</argument> 
     </arguments> 
    </configuration> 
    <executions> 
     <execution> 
      <phase>verify</phase> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

は、しかし、私はエラーを取得...私のpom.xmlでこれを持っていますか?ありがとう、-Dave

+0

のmaven-依存-プラグインを使用して、これを使用しての代わりに、外部プログラムを呼び出していないのはなぜ。 – khmarbaise

答えて

1

<argument>に複数の引数をパックしています。その要素は、あなたの例から "-d"や "target/jx-1.0-SNAPSHOT"のように1つの引数をとります。あなたはそれらを分割するか、代わりに<commandlineArgs>を使用してみることができます。

1

ライアンが書いているように、あなたはこのお勧めします。しかし、また

<argument>-d</argument> 
<argument>target/jx-1.0-SNAPSHOT</argument> 
<argument>target/jx-1.0-SNAPSHOT.war</argument> 

を、あなたはMavenの変数を使用して実装されなければならないもののハードコードがたくさんあります。そこでここでは、より良いバージョンがあります:(!ビルドはポータブルではない作る)

<argument>-d</argument> 
<argument>${project.build.directory}/${project.build.finalName}</argument> 
<argument>${project.build.directory}/${project.build.finalName}.${project.packaging}</argument> 
関連する問題