我有一个vaadin项目,我尝试在我的项目中配置javadoc插件。我将以下插件添加到我的pom的build->插件部分。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</execution>
</executions>
</plugin>
....
</plugins>
</build>
当我运行mvn install
时,构建失败并出现以下错误。
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar (default) on project web-yaan-ui-base: MavenReportException: Error while generating Javadoc:
[ERROR] Exit code: 1 - javadoc: error - com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.portlet.PortletResponse not found
它说找不到javax.portlet.PortletResponse
类,所以我尝试将javax.portlet
添加为javadoc插件的依赖项。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
</plugin>
但是,我仍然得到错误。
然后我尝试将portlet-api
依赖项添加到pom依赖项部分以及其他maven依赖项。然后它奏效了。
但是,我的最终战争档案并不依赖于portlet-api
,因此我不希望它最终出现在我的战争文件的WEB_INF/libs
中。
那么,如何在不使portlet-api
成为我最终war文件的依赖项的情况下修复此构建问题?