我在使用 maven(版本 2.2.1)发布我的 gwt 项目时遇到问题。
发布文件(war、sources、javadoc)的生成非常完美。所有文件都生成并上传到我的发布存储库中。
问题在站点生成期间开始。创建站点 (mvn site:site) 时生成 javadoc 失败。在运行 mvn javadoc:javadoc 时,它在几秒钟前运行良好。
我正在使用相同的父 pom,因此在其他项目中成功使用了相同的基本配置,这些项目不包括 gwt。
对我来说,它似乎与使用休眠验证器的源依赖关系有关,我需要 gwt 插件。
错误信息是
包 org.hibernate.validator.constraints 不存在
但是 org hibernate.validater 被声明为依赖项。
我在 POM 中有 2 次:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.1.0.Final</version>
<classifier>sources</classifier>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>jaxb-api</artifactId>
<groupId>javax.xml.bind</groupId>
</exclusion>
<exclusion>
<artifactId>jaxb-impl</artifactId>
<groupId>com.sun.xml.bind</groupId>
</exclusion>
</exclusions>
</dependency>
....
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.1.0.Final</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>jaxb-api</artifactId>
<groupId>javax.xml.bind</groupId>
</exclusion>
<exclusion>
<artifactId>jaxb-impl</artifactId>
<groupId>com.sun.xml.bind</groupId>
</exclusion>
</exclusions>
</dependency>
....
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.0.1</version>
<executions>
<execution>
<id>default-site</id>
<phase>site</phase>
<goals>
<goal>site</goal>
</goals>
<configuration>
<locales>de</locales>
<outputEncoding>ISO-8859-1</outputEncoding>
<outputDirectory>F:\j2ee\projekte\...\site</outputDirectory>
<reportPlugins>
<reportPlugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<linksource>true</linksource>
<encoding>ISO-8859-1</encoding>
<excludePackageNames>jsp.*</excludePackageNames>
</configuration>
</reportPlugin>
.....
附加信息
java.lang.NullPointerException
at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:67)
at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:29)
at com.sun.tools.javadoc.ClassDocImpl.superclassType(ClassDocImpl.java:441)
at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:386)
at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:424)
at com.sun.tools.doclets.internal.toolkit.util.ClassTree.processType(ClassTree.java:162)
at com.sun.tools.doclets.internal.toolkit.util.ClassTree.buildTree(ClassTree.java:114)
at com.sun.tools.doclets.internal.toolkit.util.ClassTree.<init>(ClassTree.java:73)
at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:104)
at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:64)
at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:42)
at com.sun.tools.doclets.standard.Standard.start(Standard.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
我试图更改源依赖和二进制依赖的顺序,但没有帮助。
有任何想法吗?