由于我使用Maven,我已经能够在我的本地存储库项目中构建和安装不完整的Javadoc标记(例如,缺少一个参数)。
然而,自从我迁移到Java 8 (1.8.0-ea-b90), Maven对缺少文档标记是绝对严格的,当我试图构建或安装Javadoc不是“完美”的项目时,Maven向我展示了许多与Javadoc问题相关的Javadoc错误。我试图在本地存储库中编译和安装的一些项目是我无法控制的第三方项目。因此,在所有这些项目中修复所有Javadocs的变通方法在我的场景中似乎不可行。
这是我在项目中执行mvn clean package install
时看到的输出的一小部分:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.026s
[INFO] Finished at: Mon Apr 08 21:06:17 CEST 2013
[INFO] Final Memory: 27M/437M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9:jar (attach-javadocs) on project jpc: MavenReportException: Error while creating archive:
[ERROR] Exit code: 1 - /Users/sergioc/Documents/workspaces/heal/jpc/src/main/java/org/jpc/engine/prolog/PrologDatabase.java:10: error: @param name not found
[ERROR] * @param terms the terms to assert
[ERROR] ^
[ERROR] /Users/sergioc/Documents/workspaces/heal/jpc/src/main/java/org/jpc/engine/prolog/PrologDatabase.java:11: warning: no description for @return
[ERROR] * @return
[ERROR] ^
在我的POM中,Javadoc Maven插件是这样配置的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
正如我之前所说,如果我回到Java 7,一切都可以正常工作。
也许这是一个与Maven在Java 8中运行有关的错误?
我如何使用Java 8使其工作(即,能够构建项目的Javadoc并将其代码安装在我的本地存储库中)?
我已经在OSX中用Maven 3.0.3和3.0.5进行了测试
更新:
如果我用<failOnError>false</failOnError>
改变我的Javadoc插件配置(谢谢Martin):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
然后将项目安装到本地存储库中。但是,仍然没有生成Javadoc JAR。
我在控制台中看到的这个新配置的输出片段是:
[ERROR] MavenReportException: ERROR while creating archive: Exit code: 1 - /Users/....java:18: warning: no @param…命令行 /Library/Java/Home/bin/javadoc @options @packages
参考中生成的Javadoc文件 ' /用户/ sergioc /文件/工作区/治疗/ minitoolbox /目标/ apidocs ' dir . < / p > < p >在 org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeJavadocCommandLine (AbstractJavadocMojo.java: 5043) 在 org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeReport (AbstractJavadocMojo.java: 1990) 在 org.apache.maven.plugin.javadoc.JavadocJar.execute (JavadocJar.java: 181) 在 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java: 101) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java: 209) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java: 153) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java: 145) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java: 84) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java: 59) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild (LifecycleStarter.java: 183) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java: 161) doexecute (DefaultMaven.java:320 org.apache.maven.DefaultMaven.execute (DefaultMaven.java: 156) org.apache.maven.cli.MavenCli.execute (MavenCli.java: 537) org.apache.maven.cli.MavenCli.doMain (MavenCli.java: 196) org.apache.maven.cli.MavenCli.main (MavenCli.java: 141) sun.reflect.NativeMethodAccessorImpl。invoke0(本机方法 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43) java.lang.reflect.Method.invoke(Method.java:491 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java: 290) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java: 230) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java: 409) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java: 352) < / p >
在使用Java 7时,是否有关于如何在一个步骤中构建源代码、安装项目和生成Javadoc JAR的解决方案?