2013-07-04 4 views
2

Моя сборка прекрасно работает, за исключением случаев, когда выполняется выпуск (или, точнее, mvn javadoc: javadoc). Я получаю ClassNotFoundException ниже. Любые намеки на то, как обеспечить класс будет глубоко признателенClassNotFoundException при выполнении mvn javadoc: 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

Скорее всего, что ОП был запущен на Maven 2.x. Таким образом, решение было бы использовать Maven 3.x, если они хотят работать с последними версиями maven-javadoc-plugin (видимо, 2.9+). В конце концов Maven 2 достиг своего EOL, поэтому нет причин продолжать его использовать.

Сочетание изменений, как обновления maven-javadoc-plugin, чтобы использовать более новую версию HttpClient и Maven движущегося от Plexus к Guice как IoC контейнера может быть причиной этого.

Вот несколько ссылок на билеты, которые могли бы помочь:

Смежные вопросы