Javaアプリケーションをビルドしようとしていて、コマンドjava -jar myapp.jar
を実行しようとしています。しかし、それは外部ライブラリJSONObject
のClassNotFoundException
を投げつけ続けています。クラスパスでjarファイルを実行する
インターネットを検索した後、私はpom.xml
にorg.apache.maven.plugins
,maven-dependency-plugin
およびmaven-assembly-plugin
を追加しました。ターゲットディレクトリには、アプリケーションが必要とするすべてのライブラリを含むlibs
フォルダが含まれています。またMANIFEST.MF
にClass-Path
が追加されました。
しかし、java -jar myapp.jar
で実行しようとすると、それでもJSONObject
のClassNotFoundException
がスローされます。なぜ、助けてくださいわからない。
MANIFEST.MF
Manifest-Version: 1.0
Built-By: user
Build-Jdk: 1.7.0_80
Class-Path: lib/json-20170516.jar lib/mysql-connector-java-5.1.42.jar
lib/log4j-1.2.17.jar lib/slf4j-api-1.7.21.jar lib/opencsv-3.9.jar lib
/commons-lang3-3.5.jar lib/commons-beanutils-1.9.3.jar lib/commons-lo
gging-1.2.jar lib/commons-collections-3.2.2.jar
Created-By: Apache Maven 3.0.5
Main-Class: com.myapp.App
あなたの 'myapp.jar'と同じ場所に' lib'ディレクトリをコピーしましたか? – MadProgrammer
@MadProgrammerはい、それらは同じ場所にあります – panda
@MadProgrammer私はなぜライブラリの生成された場所は 'libs'ですが、Class-Pathのものは' lib'です!!! – panda