3

こんにちは、

「Apache commons IO」 jar をプロジェクトの libs というフォルダーに 追加しました。Eclipseは Apache commons jar のクラスに下線を引かなくなりました。これにより、正しくリンクされていると思われます。

しかし、jar をエクスポートして実行するたびに、java.lang.ClassNotFoundExceptionが発生します。このエラーを修正するにはどうすればよいですか?

追加情報: -これは何かのプラグインであるため、実行可能な jarとしてエクスポートしません。- jar がエクスポートされた jar 内にあることを確認しました (WinRAR で開きました)

助けてくれてありがとう、私は今インターウェブで検索するのに2時間以上費やしました!

4

1 に答える 1

0

Manifest.mf という名前のマニフェスト ファイルを作成し、それが jar ファイルに含まれていることを確認します。これはコマンド ラインで実行するか、ビルドの一部として含めることができます。過去に ant を使用してファイルを jar にコピーしました。

ファイルには、次のようなエントリが含まれている必要があります。

Manifest-Version: 1.0
Main-Class: com.myproject.MyMainClass
Class-Path: commons-io.jar

そのファイルが META-INF フォルダーの jar ファイルにパックされている場合は、Eclipse の外部で実行しても問題ありません。これを自分で学ぶために私が行ったことの 1 つは、すべてを含む実行可能な jar を Eclipse でパッケージ化し、その jar を自分のものと比較して違いを確認することでした。また、コード内のクラスパスを出力して、Eclipse が使用するものとプログラムを実行したときに使用するものとの違いを確認することもできます。

于 2012-12-25T23:07:13.263 に答える