2009-05-20 20 views
8

私は、次の取得、 'Mavenのインストール' を実行する。..javadocの生成中にMavenのインストールが失敗するのはなぜですか?

[INFO] [javadocは:javadocの{実行: デフォルト}] [INFO] ----------- -------------------------------------------------- ----------- [エラー] BUILD ERROR [情報] ------------------------------ ------------------------------------------ [情報]エラーが発生しました JavaDocsのレポート生成:終了コード: 1 - com.sun.tools.docletsでcom.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUse(PackageUseWriter.java:180) でjava.lang.NullPointerExceptionが 。 formats.html.PackageUseWrite r.generatePackageList(PackageUseWriter.java:124) com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUse(PackageUseWriter.java:110) (com.sun.tools.doclets.formats.html.PackageUseWriter) generatePackageUseFile(PackageUseWriter.java:99) com.sun.tools.doclets.formats.html.PackageUseWriter.generate(PackageUseWriter.java:78) at com.sun.tools.doclets.formats.html.ClassUseWriter.generate ClassUseWriter.java:116)com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGenerationでcom.sun.tools.doclets.formats.html.HtmlDoclet.generateOtherFiles(HtmlDoclet.java:92) で (AbstractDoclet。 java:122) com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:64) at com.sun.tools.doclets .formats.html.HtmlDoclet.start(HtmlDoclet.java:42) com.sun.tools.doclets.standard.Standard.start(Standard.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)java.lang.reflect.Method.invokeでsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で(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)com.sun.tools.javadoc.Main.mainでcom.sun.tools.javadoc.Main.execute(Main.java:41) (Main.java:31)で

コマンドラインでした: /home/fsl/jdk1.6.0_12/jre/../bin/javadoc @options @packages @argfile

私は間違っていますか?

+0

pomの関連部分を投稿できますか? – sal

答えて

1

あなたの問題と思われるunfixed bugがあります。バグの説明から、既知の回避策は、-useオプションを削除するか、JDK 1.4.2を使用することです。これはJava 6を使用しているためです。

NullPointerExceptionがで発生している行がある:

printHyperLink("", pkg.name(), Util.getPackageName(pkg), true); 

はので、おそらく問題は、あなたのpackage.htmlファイルにタイプミスの発生していますか?

3

次のコンフィギュレーションを使用、のmaven-javadocによってプラグインで-useオプションを削除するには:1デフォルトのパッケージのクラスがあり、上の-useあるときにバグレポートから

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <configuration> 
       <use>false</use> 
       <links> 
        <link>http://java.sun.com/javase/6/docs/api/</link> 
       </links> 
      </configuration> 
     </plugin> 
+0

申し訳ありません - この修正は、maven-javadoc-plugin 2.8.1を使用して私にとってうまくいきませんでした。maven-javadoc-plugin 2.9.1(最新のバージョン) – Stewart

+0

も私にとってはうまくいきませんでした。フォルダ構造が原因でした! –

1

を、これが発生します。したがって、1つの解決策は、デフォルトパッケージ内のクラスを名前付きパッケージに移動することです。

MacOS X Lionなど、一部のディストリビューションで配布されているjavadocツールでこのバグが修正されていないことを迷惑にしています。

openjdk 6でバグが修正されたように見えます。少なくとも、ソースコードの検査からです。そのソースのダウンロードはhttp://download.java.net/openjdk/jdk6/

0

環境変数を参照して、CLASSPATH変数を削除するか、パッケージパスを追加してください。

javadocは、クラスパスを使用してパッケージを決定します。変数がパスにない場合は失敗します。また

10

、あなたが持っている場合:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (default-cli) on project coolproject-api: MavenReportException: Error while creating archive: 
[ERROR] Exit code: 1 - javadoc: warning - No source files for package org.coolproject.api 
[ERROR] javadoc: warning - No source files for package org.coolproject.api 
[ERROR] javadoc: warning - No source files for package org.coolproject.api.listeners 
[ERROR] javadoc: error - No public or protected classes found to document. 

Javaコンパイラのようなパッケージスタイルの名前のソースディレクトリ理解:

coolproject-api/java/org.coolproject.api/ 

をし、それに問題がないが、のmaven-javadoc-プラグインはありません。したがって、あなたの "物理的な"パッケージのレイアウトを変更してみてください:

coolproject-api/java/org/coolproject/api/ 
+2

yesを使用して、 – farasath

+1

また、mavenの正しいディレクトリ構造を持っていても、pomに別のを宣言するエントリがある場合は、この回答でエラーが発生します。おそらく、宣言されたsourceDirectoryは報告されたとおりに空です。リリースを実行している場合:実行すると、このエラーは最後まで表示されません。 – dan

+0

あなたは私の日を救った。ありがとう –

関連する問題