2

ここでは一種の「単純な」質問ですが、Eclipse を使用してそのようなことを行うのは複雑に思えます。

私は、xml パーサー、ロガー、数学計算、デバッグ ユーティリティなどの「一般的な」コードを開発した「utils」プロジェクトを持っています。

このライブラリは、動作する他のいくつかの外部ライブラリ (commons-lang-3.1、colt-1.2.0、jdom-2.0.4) に基づいており、実行不可能な JAR ファイルです(つまり、main() がなく、他のプロジェクトに含めるためのユーティリティ コード)。

私がやりたいことは、自分のプロジェクトの JAR ファイルを作成するときに、JAR ファイル内のすべての外部 JAR (common-lang、colt、jdom) を抽出して、それらを他のプロジェクトで自動的に使用することです。

その理由は、lib に基づくすべてのプロジェクトに common-lang、colt、および jdom を再インクルードしたくなく、lib JAR ファイルにパックされたものを使用するためです (これは、確実に私のライブラリに基づくプロジェクトでも、これらのライブラリの同じバージョンを使用します)

実行可能な JAR ファイルでそれを行う方法を知っています。たとえば、Eclipse に含まれる外部ライブラリを使用して jar を作成する方法を参照してください。

しかし、実行不可能な JAR ファイルでは:

  • すべてのクラスは、作成したパッケージに基づいて正しいディレクトリ構造に正しくエクスポートされます (できれば ;-))、
  • しかし、外部 JAR ファイルは「そのまま」エクスポートされるため、JAR を別のプロジェクトにインポートすると、それらの JAR (common-lang など) が表示されず、再インポートする必要があります。

この JAR ファイルを、すべての外部 JAR ファイルが生成された JAR ファイルにも抽出されるディレクトリ構造でエクスポートする簡単な方法はありますか?

よろしく

4

1 に答える 1

3

JarSpliceを見たことがありますか?

JarSplice は、使いやすい GUI を介して、すべての jar ファイルとネイティブ ファイルを 1 つの使いやすい実行可能 jar ファイルにマージします。

ここに画像の説明を入力

于 2013-05-07T15:35:21.350 に答える