1

Eclipseを使用してJavaMavenプロジェクトを開発しており、参照されているすべてのライブラリを含むjarをエクスポートしたいと考えています。これらの参照ライブラリは、次の2つのカテゴリのいずれかに分類されます。

  1. それらは、明示的(または暗黙的) な依存関係です。pom.xml

  2. Mavenアーティファクトとして利用できないライブラリがいくつかあり、それらを/ libに配置しました(そしてそれらをEclipseのビルドパスに追加しました)

がありますmaven-assembly-plugin。これは1)で正常に機能します。ただし、Maven以外の依存関係も含むMavenプラグインを見つけることができません"all jars in /lib"

次に、EclipseFatJarプラグインがあります。これは一種の機能ですが、2009年以降更新されていないため、保守されていないようです。また、で直接指定できるエクスポート方法を好みますpom.xml

ケース2)のものを含め、参照されているすべてのライブラリmavenをエクスポートするプラグインなどを誰かに教えてもらえますか?それは、それらをjarに入れ、マニフェストのクラスパスでそれらを参照することだけを含む必要があります。

ありがとう!

4

2 に答える 2

4

これを処理する最善の方法は、カスタム ライブラリをローカルの Maven リポジトリに含めることだと思います。これで、ライブラリを maven 依存関係として含めることができ、pom で指定されたすべての依存関係を maven-assembly-plugin でエクスポートできます。

これは、ライブラリをmavenのローカルリポジトリに配置してpomで使用する方法のチュートリアルです。http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/

そして、あなたのpom.xmlで:

<!-- setup jar manifest to executable with dependencies -->
<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <descriptorRefs>
      <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
    <archive>
      <manifest>
        <mainClass>your.main.class</mainClass>
      </manifest>
    </archive>
  </configuration>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
       <goal>single</goal>
      </goals>  
    </execution>
  </executions>
</plugin>
于 2012-12-17T08:56:15.550 に答える
0

これはTychoのタスクのようです。Maven で Eclipse プラグインを作成できる Maven プラグインのセットです。Tycho は、マニフェスト エントリをビルドの依存関係と見なします。

ただし、これらすべての依存関係を単一の jar にパッケージ化する方法はわかりません。これは osgi 仕様とも競合している可能性があります。しかし、osgi を無視したい場合は、jar-with-dependencies アセンブリを試すことができます。

于 2012-12-17T08:35:20.237 に答える