0

A はビルド パスに jar B を
持ち、B はビルド パスに jar C を持ち、

A で C のクラスを使用できますか?

前もって感謝します

4

4 に答える 4

0

ビルド パスに jar b と jar c があるだけでは不十分です。これらのオプションのいずれかを使用して、目的を達成できます。

  1. Class-Path: c.jar を含む jar b マニフェストに新しい行を追加する Class-Path: b.jar を含むマニフェストを jar に追加する新しい行を追加する

  2. java -cp a.jar;b.jar;c.jar yourfullclassname

于 2012-12-14T11:19:35.110 に答える
0

これらの jar の作成とその後の使用法を区別する必要があると思います。

たとえば、jar C を参照する jar B をビルドできますが、2 つを一緒にデプロイする必要があります。jar A のビルドを行わない場合は、jar B を参照しますが、jar C がないと機能しません。

代わりに、ビルドで B のコードを取得し、それを jar C のコンテンツと一緒にパッケージ化することもできます。次に、A で B と C を一緒に使用できます。

この依存関係の管理は非常に複雑になる可能性があります (ご覧のとおり)。複数の jar を提供する必要がないようにコードを一緒にパッケージ化すると、作業が楽になります (参照する jar は 1 つだけです) が、アップグレードが面倒になります (たとえば、1 つの共通ライブラリをアップグレードすることはできません)。Maven のようなツールは、これに対処するためのオプションを提供します (この jar はコンパイルのみに必要か、プログラムと一緒にパッケージ化するか、テストのみに使用するかなど)。

于 2012-12-14T11:19:58.780 に答える
0

クラスパスに A、B、および C がある場合、他のクラスからこれらのクラスを使用できます。必要なのは、参照または参照への参照などです。

于 2012-12-14T11:13:32.660 に答える
0

はい、使用できます。すべてのjarがクラスパスにある場合、どこでも使用できるためです。

于 2012-12-14T11:17:59.493 に答える