2016-04-14 5 views
0

私はMavenでIDEAを使用しています。私はlib、bin、READMEを持つzipを生成するためにmaven-assembly-pluginを使いたい。 zipをアセンブルするには、mvn packageというコマンドを使用します。
しかし、zipにはrun.batまたはrun.shがありません。私の質問は:run.batまたはrun.shの内容を自分で書かなければならないのですか、それともMavenによって自動的に生成されるのでしょうか?Mavenアセンブリプラグインは、バットまたはshファイルでzipを生成します

以下は私のIDEA with Mavenのファイルの一部です。
enter image description here

assembly.xml:

<assembly> 
<id>bin</id> 
<formats> 
    <format>zip</format> 
</formats> 
<dependencySets> 
    <dependencySet> 
     <useProjectArtifact>true</useProjectArtifact> 
     <outputDirectory>lib</outputDirectory> 
    </dependencySet> 
</dependencySets> 
<fileSets> 
    <fileSet> 
     <outputDirectory>/</outputDirectory> 
     <includes> 
      <include>README.txt</include> 
     </includes> 
    </fileSet> 
    <fileSet> 
     <directory>src/main/scripts</directory> 
     <outputDirectory>/bin</outputDirectory> 
     <includes> 
      <include>run.sh</include> 
      <include>run.bat</include> 
     </includes> 
    </fileSet> 
</fileSets> 

のpom.xml:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2.1</version> 
      <configuration> 
       <descriptors> 
        <descriptor>src/main/assembly/assembly.xml</descriptor> 
       </descriptors> 
      </configuration> 
      <executions> 
       <execution> 
        <id>make-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

答えて

0

アセンブリプラグインはrun.barまたはrun.shのような任意のシェルラッパーを(生成されません。 )あなたのために - それはアセンブリー・デスクリプタで定義されたルールに基づいてアーカイブをアセンブルするだけです。

自分

+0

おかげでたくさんのrun.batrun.shを作成する必要があります。グラデルはこれをすることはできますか? .batまたは.shのファイルを生成しますか? –

+0

@UgeneSkywalker no gradleはmavenのようなビルドツールです。あなたは 'src/main/scripts/run.sh'と' src/main/scripts/run.cmd'を手作業で書く必要があります。 – bedrin

関連する問題