私は数か月間答えを探していましたが、圧縮フォルダー src.zip を解凍し、それを Javadoc のパラメーターとして使用するなど、複数のことを試しました (例: javadoc -sourcepath src com.example.test
)
これは、JDK 6 Update 24 に付属するデフォルトの Javadoc です。
java.util.Map
インターフェイスを実装する新しいマップに取り組んでいるとしましょう。デフォルトでは、Map インターフェースからオーバーライドするメソッドは、インターフェースからドキュメントを継承する必要があります (私の間違いでなければ)。ただし、javadoc は決してそれを行いません。
これまでのところ、この問題を解決した唯一の方法は、Java によって記述されたクラスを実際に javadoc 化することです (例: javadoc com.example.text java.util
)。Javaクラスを書き直したように見えるので、これをしたくありませんが、これが唯一の方法ですか? もしそうなら、私はそれで暮らすことができると思いますが、これを行う別の方法があることは私の理解でした.
ありがとう =) これが少し乱雑でしたら申し訳ありません。スタック オーバーフローを使用するのはこれが初めてです。また、この質問が既にされている場合は申し訳ありません。私が聞きたいことすべてをカバーしていないという類似の質問をたくさん読みましたが、Javadoc の独自の実装を作成する必要があるため、非常に紛らわしいことがわかりました。とにかく、高度にありがとう=)
編集: 5 月 25 日 4:44
わかりました =) 私の理解が正しければ、例を見たいと思います。これは、うまくいかないことを試みていたことが原因であるかどうかを確認しようとした、より単純な例です。
package com.example;
/**
* A simple class that returns an upper-case string representation.
*/
public class UpperCaseObject {
@Override public int hashCode() {
return super.hashcode();
}
/**
* {@inheritDoc}
*
* <P>The {@code toString} method for class {@code UpperCaseObject} returns
* converted to uppercase.</P>
*
* @see String#toUpperCase()
*/
@Override public String toString() {
return super.toString().toUpperCase();
}
}
この例 (ファイル名はUpperCaseObject.java
) をディレクトリに移動し、javadoc-test/com/example
別のディレクトリを作成して (src.zip から) その中にjavadoc-test/java/lang
配置しました。Object.java
私が行った javadoc への呼び出しは、ディレクトリからのものでした。path パラメータに jdk6 bin ディレクトリがあります。javadoc -link http://download.oracle.com/javase/6/docs/api/ com.example
javadoc-test
私が期待していた 2 つのことはUpperCaseObject.hashCode
、すべてのドキュメントとUpperCaseObject.toString
、追加の段落の前のすべてをjava.lang.Object
. しかし、残念ながら、私はドキュメントを入手できませんでした。
編集:
さて、私がしなければならなかったのは次のことでした。これは単純な回避策です。
- 通常どおり、source.zip からすべてのソース ファイルをコピーしました。
- 各パッケージのパッケージファイルも作成しました。それらには、最初の段落 (概要を含む段落) と、「詳細については、Java™ プラットフォーム、Standard Edition 6 API 仕様のパッケージの概要を参照してください」という 2 番目の段落が含まれています。
- ソース ファイルは基本的に、スーパー クラス、それらのスーパー クラス (およびインターフェイス)、およびそれらがスローしたすべての例外であり、それらも同じパッケージに含まれていました。唯一の例外は、Object を取得するだけでよい java.lang でした。例外がスローされたクラスと同じパッケージにある場合、java.lang を除いて、他のパッケージはリンクされないため、例外も必要でした。
- 使用/サブクラス化/例外スロー元のすべてのパッケージを javadoc しました。
- 標準パッケージと私自身のパッケージに関する情報を概要ファイルに含めるようにします。
残念ながら、今のところ回避策しかありませんが、私のバージョンの Java に問題がある可能性があると確信しています。他の人も同様の問題を抱えていて、独自の回避策を考え出したようです。これは私のものです=)
私はまだ回答を求めていますが、当面はこれが最も便利なオプションです。どうもありがとうございました!