これがシナリオです
クラス B.java に依存するクラス A.java があるとします。
public Class A{
public B b=new B();
}
public Class B{
//Some business logic...
}
そして、クラス A のみを使用するアプリケーション X があります (X 内のどこかに がありますnew A()
)。1) A.class
を含む2つのjarとB.classを含む別のjarを作成し、これら2つのjarをアプリケーションに追加できますか?
2)A.classのみを含む1つのjarを作成して、そのjarをアプリケーションに追加し、実行時にB.classをアプリケーションに提供できますか(実行時にB.classを注入できると仮定します)
注:これら2つのクラスを追加する私が理解しているように、単一のjarではオプションではない
ので、クラスAはアプリケーションXのコンパイル時の依存関係であり、クラスBはランタイムの依存関係ですよね?
ポイント1と2で、「アプリケーションにjarを追加する」と言っているとき、正確に何をしているのか、アプリケーションXのビルドパスまたはクラスパスにそれらのjarを追加していますか? おそらく誰かがこれらの「パス」の違いを理解するのを手伝ってくれるでしょう。私はいつも混乱します。