私はMavenを使用しているので、不完全なJavadocタグ(たとえば、欠落しているパラメーター)があるローカルリポジトリプロジェクトにビルドしてインストールすることができました。
ただし、Java 8(1.8.0-ea-b90)に移行したので、Mavenはドキュメントタグの欠落に厳格であり、Javadocがないプロジェクトをビルドまたはインストールしようとすると、Javadocの問題に関連する多くのJavadocエラーが表示されます「完璧」。ローカルリポジトリにコンパイルしてインストールしようとしているプロジェクトの一部は、私が制御できないサードパーティのプロジェクトです。したがって、これらのすべてのプロジェクトですべてのJavadocを修正するという回避策は、私のシナリオでは実行可能ではないようです。
これは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] ^
Javadoc Mavenプラグインは、私のPOMで次のように構成されています。
<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に戻ると、すべてが正常に機能しています。これは、Java 8で実行されているMavenに関連するバグですか?Java 8で動作させるにはどうすればよいですか(つまり、プロジェクトのJavadocをビルドして、そのコードをローカルリポジトリにインストールできますか)。OSXでMaven 3.0.3と3.0.5の両方でテストしました。
更新:
<failOnError>false</failOnError>
(Martinに感謝)でJavadocプラグイン構成を変更した場合:
<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はまだ生成されていません。
この新しい構成でコンソールに表示される出力の一部は次のとおりです。
[エラー] MavenReportException:アーカイブの作成中にエラーが発生しました:終了コード:1-/Users/....java:18:警告:no @param ...コマンドライン:/ Library / Java / Home / bin / javadoc @options @パッケージ
'/ Users / sergioc / Documents / workspaces / heal / minitoolbox / target / apidocs'ディレクトリにある生成されたJavadocファイルを参照してください。
org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeJavadocCommandLine(AbstractJavadocMojo.java:5043)at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeReport(AbstractJavadocMojo.java:1990)at org.apache.maven.plugin .javadoc.JavadocJar.execute(JavadocJar.java:181)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java :209)org.apache.maache.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)at org.apache。 org.apache.maven.lifecycle.internal.LifecycleModuleBuilderのmaven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)。buildProject(LifecycleModuleBuilder.java:59)at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)at org.apache.maven.cli.MavenCli.execute(MavenCli.java)にあるorg.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)に:537)org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)at sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method。org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)のinvoke(Method.java:491) org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)で
ソースのビルド、プロジェクトのインストール、およびJavadoc JARの生成方法について、Java 7で動作していたのと同じように、1つのステップで回避策はありますか?