2017-06-30 16 views
-1

Javaアプリケーションをビルドしようとしていて、コマンドjava -jar myapp.jarを実行しようとしています。しかし、それは外部ライブラリJSONObjectClassNotFoundExceptionを投げつけ続けています。クラスパスでjarファイルを実行する

インターネットを検索した後、私はpom.xmlorg.apache.maven.plugins,maven-dependency-pluginおよびmaven-assembly-pluginを追加しました。ターゲットディレクトリには、アプリケーションが必要とするすべてのライブラリを含むlibsフォルダが含まれています。またMANIFEST.MFClass-Pathが追加されました。

しかし、java -jar myapp.jarで実行しようとすると、それでもJSONObjectClassNotFoundExceptionがスローされます。なぜ、助けてくださいわからない。

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 
+0

あなたの 'myapp.jar'と同じ場所に' lib'ディレクトリをコピーしましたか? – MadProgrammer

+0

@MadProgrammerはい、それらは同じ場所にあります – panda

+0

@MadProgrammer私はなぜライブラリの生成された場所は 'libs'ですが、Class-Pathのものは' lib'です!!! – panda

答えて

0

私はクラスパス内のパスがlibですが、ライブラリフォルダがlibsあるためだったこと、答えを見つけました!!!!私のpom.xml

<!-- Build an executable JAR --> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>3.0.2</version> 
    <configuration> 
     <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
       // error line 
       <classpathPrefix>lib/</classpathPrefix> 
       <mainClass>com.ics.monitorlogprocessor.App</mainClass> 
      </manifest> 
     </archive> 
    </configuration> 
</plugin> 

<!-- Copy dependencies to the build directory (used to upload it later) --> 
<plugin> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>copy-dependencies</goal> 
      </goals> 
      <configuration> 
// the error line 

      <outputDirectory>${project.build.directory}/libs</outputDirectory> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

あなたが見ることができるように、maven-jar-pluginの設定とmaven-dependency-plugin

はミスが一致しています。上記の設定は古い質問から直接コピーされているので、しっかりしてください。

関連する問題