2013-07-04 58 views
2

我的構建工作正常,除非在發佈版本時(或者更確切地說mvn javadoc:javadoc)。 我得到下面的ClassNotFoundException。任何提示如何提供類將深受讚賞執行mvn javadoc時出現ClassNotFoundException異常:javadoc

Caused by: java.lang.NoClassDefFoundError: org/apache/http/HttpRequest 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386) 
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) 
    at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.buildJavadocOptions(AbstractJavadocMojo.java:5843) 
    at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeReport(AbstractJavadocMojo.java:1857) 
    at org.apache.maven.plugin.javadoc.JavadocReport.generate(JavadocReport.java:130) 
    at org.apache.maven.plugin.javadoc.JavadocReport.execute(JavadocReport.java:315) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    ... 20 more 
Caused by: java.lang.ClassNotFoundException: org.apache.http.HttpRequest 
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) 
    ... 38 more 
+1

我已經得到這與Maven的Javadoc的插件2.9工作;然而2.9.1因上述錯誤而失敗。 – qwerty

回答

0

這可能是maven傳遞依賴衝突的問題。一些依賴是傳遞地依賴於兩個不同版本的HttpClient,儘量排除一個有:

<dependency> 
    <groupId>groupId</groupId> 
    <artifactId>artifactId</artifactId> 
    <exclusions> 
     <exclusion> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
0

機會是OP已於Maven 2.x運行。因此,如果他們想要使用最近版本的maven-javadoc-plugin(顯然2.9+),解決方案將使用Maven 3.x。畢竟Maven 2已經達到了EOL,所以沒有理由繼續使用它。

maven-javadoc-plugin升級使用的HttpClientMaven較新版本從Plexus移動到GuiceIoC容器變化的組合可能導致此。

這裏有幾個票環節,可以幫助:

相關問題