9

「maven install」を実行すると、次のようになります。

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

コマンドラインは次のとおりです。/home/fsl/jdk1.6.0_12/jre/../bin/javadoc @options @packages @argfile

私は何を間違っていますか?

4

5 に答える 5

3

maven-javadoc-plugin で -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>
于 2011-03-31T11:18:28.710 に答える
1

そのバグ レポートによると、これは、デフォルト パッケージにクラスがあり、-use がオンになっている場合に発生します。したがって、1 つの解決策は、デフォルト パッケージ内のクラスを名前付きパッケージに移動することです。

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

このバグは、少なくともソース コードを調べたところ、openjdk 6 で修正されたようです。ソースのダウンロードはhttp://download.java.net/openjdk/jdk6/から入手できます。

于 2012-06-04T02:43:12.437 に答える
1

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

NullPointerException が発生している行は次のとおりです。

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

package.html ファイルのタイプミスが原因で問題が発生している可能性がありますか?

于 2009-08-10T12:44:34.850 に答える