0

おそらくオプションのフィールドとして、そのマニフェストにリストされているjarの依存関係を持つことは本当に便利だと私には思えます。この機能がなければ、どこかの Web 上で見つけたり、依存関係管理ツールを使用したり、それらの線に沿った何かを使用したりせずに、jar が何に依存しているかを知ることはほぼ不可能です。誰もがアーティファクト ID、グループ ID、バージョン規則全体を使用するようになったので、プロジェクトのセットアップに必要なツールが大幅に簡素化されると思います。

必要以上に Maven を使用する必要があることに気付きました。なぜなら、何かに Apache コモンズやロギングが必要かどうか、またはどのような場合であれ、何かが必要かどうかを判断するのが非常に面倒だからです。マニフェスト フィールドに jar をリストするだけではどうですか?

4

3 に答える 3

1

OSGI ( http://www.osgi.org/Main/HomePage ) を見てみましょう。特に、jar のパッケージ (インポートおよびエクスポート ステートメント) の依存関係情報を提供します。

一般的に: 依存関係は通常、簡単で単純なものではありません (スコープ、バージョンなどが異なる場合があります)。JEE の EAR および WAR 仕様は、アプリケーション サーバーに対して同様のことを試みています。

于 2015-09-25T10:39:25.407 に答える
1

依存関係の管理は一見したよりも難しいため、Java はメカニズムを提供していません。

依存関係をリストする場合、各依存関係を説明するための何らかの形式が必要になります。それは、名前とバージョン セレクターである必要があります。

Java はクロス プラットフォームであるため、ファイル名は移植性がないため、名前をファイル名にすることはできません。一部の実装は複数の JAR に分散している可能性があるため、JAR の「名前」にすることはできません。名前は一意である必要があります。誰がそれを保証しますか?

JAR は抽象 API を介してサービスにアクセスする場合があるため、実装が必要になる場合がありますが、特定の実装は必要ありません。それはどのように表現されるでしょうか?

JAR は、別の JAR の複数のバージョンで動作する場合があります。それはどのように表現されるでしょうか?さまざまなバージョンで機能したことをどのように示しますか? バージョン ID が数字であることはめったにないため、明確な順序はありません。

于 2015-09-25T15:49:40.837 に答える