2015-07-12 126 views
0

我的Java應用程序中包含的依賴異常在線程「主要」 java.lang.NoClassDefFoundError:組織/ jsoup /節點/元

Master.java 
Worker.java 
EmailSender.java 

我已經打包使用maven我的應用程序三類文件。

的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.myapp.urlhit</groupId> 
    <artifactId>url_hit</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>url_hit</name> 
    <url>http://maven.apache.org</url> 


<build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <configuration> 
      <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
     <mainClass>com.myapp.urlhit.url_hit.Master</mainClass> 
      </manifest> 
      </archive> 
     </configuration> 

     </plugin> 
    </plugins> 
    </build> 


    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
    <groupId>javax.mail</groupId> 
    <artifactId>mailapi</artifactId> 
    <version>1.4.3</version> 
</dependency> 
<dependency> 
    <groupId>org.jsoup</groupId> 
    <artifactId>jsoup</artifactId> 
    <version>1.8.2</version> 
</dependency> 
<dependency> 
    <groupId>javax.activation</groupId> 
    <artifactId>activation</artifactId> 
    <version>1.1.1</version> 
</dependency> 
    </dependencies> 
</project> 

以下是我的清單文件內容

Manifest-Version: 1.0 
Archiver-Version: Plexus Archiver 
Created-By: Apache Maven 
Built-By: venkat 
Build-Jdk: 1.8.0_45 
Main-Class: com.myapp.urlhit.url_hit.Master 
Class-Path: mailapi-1.4.3.jar jsoup-1.8.2.jar activation-1.1.1.jar 

當我試圖用Java的罐子###執行打包的JAR文件的.jar 我得到錯誤如

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/nodes/Element 
    at com.myapp.urlhit.url_hit.Master.main(Master.java:14) 
Caused by: java.lang.ClassNotFoundException: org.jsoup.nodes.Element 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 1 more 

上面的錯誤是指

Worker works = new Worker(); 

打包的jar包含所有必需的類文件。但我仍然面臨這個錯誤。我在echo $ CLASSPATH中沒有任何內容。

回答

0

因爲jsoup 1.8.2下載到您的本地存儲庫已損壞。

- 檢查網絡連接
- 再試一次或使用其他版本
- 試試其他的Maven倉庫URL。
- Download dependency manually然後將其添加到本地Maven存儲庫。

相關問題