22

ここに画像の説明を入力

[Java ビルド パス] ダイアログ ボックスの [注文とエクスポート] タブは何に使用されますか? 'order' という名前から、プラグインの依存関係の前に JRE システム ライブラリが検索されると推測できますが、Build Path に 'Export' があるのはなぜですか? そして、要素の左側にあるボタンは何ですか?

追加した

Eclipse蒸留からお借りした例です。

orderes.webapp は注文に依存しますが、ubl とカタログで定義されたクラスを使用する可能性があります。

ここに画像の説明を入力

このような場合、オーダーはカタログと ubl をエクスポートして、それに依存するパッケージがカタログと ubl を使用できるようにすることができます。

ここに画像の説明を入力

そして、「注文と輸出」についてもう少し。

  1. 左側のボタンのチェックは、.classpath追加するファイルをexported=trueなどに変更します<classpathentry exported="true" kind="lib" path="lib/log4j-1.2.7.jar"/>
  2. src は常にチェックされており、チェックを外すことはできません。

参考文献

4

5 に答える 5

8

このタブは 2 つの役割を果たしているようです (詳細については、このヘルプ ページの下部を参照してください)。

一方では、問題のプロジェクトの構築に使用されるリソースの解決順序 (「順序」部分) として機能します。他方では、このビルド パスのどの部分が依存プロジェクト (この設定パネルのビューの「プロジェクト」タブにこのプロジェクトをリストするプロジェクト) のビルド パス (「エクスポート」部分) に提供されるかを定義するのにも役立ちます。

この後者の機能が、あなたが尋ねるように、左側にチェックボックスが存在する理由です(ヘルプファイルに記載されているように、このプロジェクトで定義されたソースファイルは選択解除できないため、「-」記号はオフにできないことに注意してください)。貢献プロジェクトからのリソースを期待する依存プロジェクトは、貢献プロジェクトがそのリソースをエクスポートしない場合、コンパイル/実行されません。

編集:確証については、この SO 投稿を参照してください。

于 2012-12-18T23:04:52.877 に答える
2

これが便利だと思ったケースが 1 つあります。IBM jar の sun.* クラスを使用する必要がありました。このクラスはローカル jre にもありましたが、私の要件は IBM のクラスを使用することでした。ただし、デフォルトでは、コンパイラはローカル jdk クラスのみを参照します。Eclipse の注文とエクスポートのタブで、外部 jar を JRE ライブラリの前に移動しました。これで、コンパイラーは、ローカル JRE の代わりに IBM jar からクラスを参照します。

于 2013-03-09T11:34:12.427 に答える
2

Order and Exportあなたの推測どおり、タブには、プロジェクトのビルド パスに含まれるライブラリの順序が表示されます。

ボタンupを使用downすると、プロジェクトのニーズに応じてライブラリの順序を調整できます。

于 2012-12-18T22:50:33.850 に答える
2

特定の質問に答えるために、このプロジェクトが別のJavaプロジェクトの依存関係として追加される場合、他のプロジェクトを実行するときに、このプロジェクトのクラスとパッケージを解決するために順序が使用されます。これらのクラスとパッケージは、他の実行中のプロジェクトのクラス パスにエクスポートされると言われています。

于 2012-12-18T22:53:45.427 に答える