7

正しい質問をしているかどうかはわかりませんが、疑問を解消したいと思います。

実際、jarファイルからクラスファイルを参照するシナリオに出くわしました。つまり、application-context.xml ファイルを含む ABC というバックエンド Java プロジェクトが 1 つあるということです。

今、私は ABC プロジェクトの jar ファイルを作成し、1 つの Web ベースのアプリケーションで使用しました。

ここで、Bean が Autowired にならないという問題に直面しており、Eclipse を使用して ABC プロジェクトの jar ファイルをエクスポートするときに、「ディレクトリ エントリを追加」チェックボックスを選択していないことがわかりました。

jar ファイルでこのボックスをチェックしてどのような変更が行われたかを確認し、すべてが機能するようにします。

そこで、「ADD DIRECTORY ENTRIES」にチェックを入れたものとチェックを外したものの 2 つの jar ファイルを作成し、beyond compare を使用して両方の jar を比較しましたが、まったく違いがないことがわかりました。

「ADD DIRECTORY ENTRIES」が何をするのか正確に説明してもらえますか?

私が知っているのは、com/company/project/MyJavaFile.class のような単一のパスではなく、完全な構造を追加する必要があるということです

com/会社/

com/会社/プロジェクト/

com/company/project/MyJavaFile.class

間違っている場合は修正してください。

4

3 に答える 3

7

jar ファイル内の特定のディレクトリの URI を取得するために class.getResource() メソッドを使用する必要がある場合は、jar ファイルを作成するときに「ディレクトリ エントリの追加」を有効にする必要があります。これを行う理由は、たとえば「リソース」フォルダーへの URI を保持するためです。

class.getResource() のみを使用して [ディレクトリではなく] 特定のファイルの URI を取得する場合は、[ディレクトリ エントリの追加] をオフのままにしておくと問題ありません。

于 2013-03-11T16:27:41.893 に答える
2

Form Doc JAR ファイル エクスポーター

ディレクトリ エントリの追加:ディレクトリにサブディレクトリしか含まれていない場合でも、各ディレクトリのエントリを JAR ファイルに追加します。

于 2012-11-06T06:32:55.247 に答える