2012-03-02 17 views
0

mavenを使用してインストールパッケージのディレクトリを構築しようとしています。インストールパッケージには、設定ファイル、依存ライブラリ、およびクラスファイルの実行可能なjarといういくつかのものが必要です。実行可能なjarを追加する方法を調べるのに問題があります。ここでプロジェクトのjar依存関係を持つmavenアセンブリディレクトリ

は、私がこれまで持っているものです。

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.myproject</groupId> 
    <artifactId>myproject</artifactId> 
    <version>8.1.1</version> 
    <name>my project</name> 
    <packaging>pom</packaging> 
    <build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 


     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2-beta-2</version> 
      <configuration> 
       <descriptor>${basedir}/src/main/assembly/client.xml</descriptor> 
      </configuration> 
      <executions> 
       <execution> 
        <id>create-client</id> 
        <configuration> 
         <descriptor>${basedir}/src/main/assembly/client.xml</descriptor> 
        </configuration> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    </build> 

    <dependencies> 
     . 
     . 
     . 
    </dependencies> 
</project> 

その後、私のアセンブリ・ディスクリプタは、次のようになります。

<assembly> 
    <id>client</id> 
    <formats> 
    <format>dir</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 

    <fileSets> 
    <fileSet> 
     <directory>${basedir}/src/main/reports</directory> 
     <outputDirectory>/reports</outputDirectory> 
    </fileSet> 
    <fileSet> 
     <directory>${basedir}/src/main/resources/audio</directory> 
     <outputDirectory>/audio</outputDirectory> 
    </fileSet> 
    <fileSet> 
     <directory>${basedir}/src/main/client</directory> 
     <outputDirectory>/</outputDirectory> 
    </fileSet> 
    </fileSets> 
    <dependencySets> 
    <dependencySet> 
     <scope>runtime</scope> 
     <useProjectArtifact>false</useProjectArtifact> 
     <outputDirectory>lib</outputDirectory> 
     <unpack>false</unpack> 
    </dependencySet> 
    </dependencySets> 
</assembly> 

私はMVNアセンブリを呼び出す場合:アセンブリ私はすべてのディレクトリを取得しますライブラリと設定ファイル。よく働く。

しかし、私はすべてのコンパイル済みコードの実行可能なjarファイルを追加したいと思います。私は私のポンポンにこれを追加するとMVN jarファイルを呼び出すことによってのみ、このjarファイルを作成することができます。jar

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <finalName>run</finalName> 
       <archive> 
        <manifest> 
         <mainClass>com.myproject.main.StartProcess</mainClass> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>lib/</classpathPrefix> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 

質問は、私は自動的に私のアセンブリにそのjarファイルを取得する方法、ありますか? 私はいくつかのことを試しましたが、どこから始めたらいいかわかりません。私は何とか私の議会から瓶の実行を呼び出すことはできますか?

助けてください。

+0

私は、このリンクを見て持つことは参考になると思います http://stackoverflow.com/questions/1814526/problem-building-executable-jar-with-maven – Roveris

答えて

1

useProjectArtifactをtrueにする必要があります(これがデフォルト値です)。
現在のプロジェクトのビルド中に生成された成果物をこの依存関係セットに含めるかどうかを決定します。

関連する問題