5

eclipseプロジェクトのクラスパスに2つのフォルダーを追加しようとしています。たとえば、フォルダーAとフォルダーBです。BはA内にあります。クラスパスにAを追加するたびに

<classpathentry kind="lib" path="/A"/>

正常に動作しますが、Bのファイルにもアクセスできる必要があります。追加しようとするたびに

<classpathentry kind="lib" path="/A/B"/>

クラスパスに、それは言います

'A/BをライブラリA'内にネストできません

私はクラスパスの編集に関しては初心者なので、どうにかして、eclipseクラスパスにある別のフォルダーにネストされているフォルダーをeclipseクラスパスに追加することはできますか?

4

2 に答える 2

9

私はあなたがそれをすることができる(または許可されるべきである)とは思わない.それは本当にEclipseの問題ではありません.

個々のクラスパスは、JVM が標準のパッケージ表記を使用してクラスの検索を開始するルートです。

したがって、プログラムのデフォルト パッケージにクラス X があり、b パッケージに bX クラスがあるとします。デフォルトのパッケージ ルートが /a の場合、パッケージ b は /a/b になります。

/a を指している 1 つのクラスパス ルートと /a/b を指している 1 つのクラスパス ルートがあり、クラス X を要求した場合、デフォルト パッケージでは要求を X として解釈できます (A にルートがあるため)。だけでなく、パス /a/b に相対的なデフォルト パッケージのクラス X としても使用できますが、それはクラス bX です。

したがって、これらのことが起こらないようにするために、ネストされたクラスパス ルートを持つことは許可されていません。

于 2008-12-05T18:54:50.337 に答える
2

これを試してみてください。日食インディゴでうまくいきます。

<classpathentry kind="lib" path="/A" excluding="B/"/>
于 2011-12-06T10:12:02.197 に答える