問題タブ [doclet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Eclipse でドックレットを実行する方法
投稿にある例を参照してください: http://www.javaworld.com/jw-08-2000/jw-0818-javadoc.html#resources
投稿の例: SimpleDoclet と SimpleOrder
SimpleDoclet と SimpleOrder を配置する必要がある場所と、このドックレットを実行して出力を生成する方法を知る必要がありますか?
次のデータでGenerate JavaDocを使用してみました:
2 つのパッケージがあります。javadoc を生成するクラスを含む newPack と、SimpleDoclet が存在する oldPack です。
これに対する解決策を教えてください。
java - ドックレットのMain.executeは、ファイルが見つからないというエラーをスローします
クラスデータを印刷するドックレットがあります。コマンドラインからファイルを実行すると、正常に動作します。しかし、Javaプログラム内でも実行したいと思います。それで、私は私のドックレットで以下の主な方法を使用しました:
NewClass.javaは、SimpleDocletにjavadocを生成させたいJavaファイルです。これはできますか?
その場合、このドックレットを実行すると、次のエラーメッセージが表示されます。
解決策はありますか?
maven - プロジェクトでカスタムドックレットクラスをコンパイルして実行するにはどうすればよいですか?
コンパイル時にすべてのクラス javadoc コメント (できればライブラリ WebPage クラスのサブクラス) を .properties ファイルにダンプしようとしていますclassname=comment
。
これまでのところ、私は持っています:
- 作成されたドックレット クラス
SiteMapDoclet
- このクラスは、プロジェクト内のすべての javadoc をスキャンし、それらを .properties ファイルにダンプするように定義されています
- それが機能するために必要な構成を私の pom.xml に追加しました。
バージョン: Java 1.6.0.21、Maven 2.2.1
問題:
mvn site
返品:
AdditionalDependencies
プロジェクトの通常の依存関係であっても、jarを設定しようとしました。また、クラスが bootclasspath の一部として必要とする jar へのパスを追加しようとしました。
私の pom.xml のレポート セクションは次のようになります。
注:
${m2Repository}
はファイルの上位にあるプロパティとして定義され、 はファイルの
上位${env.USERPROFILE}/.m2/repository
${bootClassPath}
にあるプロパティとして定義され、次のように
定義されます。${env.JRE_6_HOME}\lib\rt.jar;${env.JAVA_HOME}\lib\tools.jar;
どうすれば修正できますNoClassDefFoundError
か?
さらに、SiteMap ファイルを通常のビルド プロセスの一部として実行したいと考えていcompile
ますpackage
。
でこれを定義しようとしましbuild
たが、javadoc が作成されず、ドックレットからのログ出力が表示されません。
更新:
@ ben75 の提案に感謝します。pom.xml<reporting>
のセクションを削除したところ、ビルド中にプロセスが失敗しました。からセクションを追加してコピーしました。<goals>
<configuration>
<reporting>
それはまだスローされてNoClassDefFoundError
いますが、私が望むビルドで起こっています。追加してみました:
構成セクションに移動しましたが、うまくいきませんでした。
java - 一般的な javadocs の JavaDoc パーサー?
実行時に標準のDocletインターフェースを介して操作できるように、JavaDocを解析するために使用できるものはありますか? 基本的に、 Docletの逆操作です。
すべての Javadoc に対してパーサーを作成することは不可能であることは理解していますが (これは任意のドキュメント形式になる可能性があるため)、標準ドックレットにそのようなものがあったかどうか知りたいです。
java - パブリック メソッドのサブセットの Javadoc を生成する方法はありますか? たとえば、パブリック メソッドに「パブリック API の一部ではない」という注釈を付けます。
クラス/インターフェース/パッケージのサブセットの Javadoc を作成する方法を知っています。しかし、パブリック メソッドのサブセットのみの Javadoc を生成する方法はありますか?
私が望むのは、メソッド (Javadoc タグまたは注釈) を特定の API に属するものとして、またはその一部ではないものとしてマークできることです。次に、指定された一連のメソッド (API を形成するメソッド) に対してのみ Javadoc を生成するツールを用意します。
メソッドへのパブリック/プライベート/パッケージ アクセスの選択は、私のプロジェクトには十分ではありません。パブリック メソッドは、パブリック API に属しているかどうか、または API 1 に属しているが API 2 に属していない可能性があります。基本的に、パブリック メソッドの任意のサブセットから API を選択できるようにしたいと考えています。
android - Doclava を使用して Android プロジェクトの javadoc を生成中にエラーが発生しました
javadoc と doclava を使用して Android プロジェクトのドキュメントを生成しようとしています。doclava jar をダウンロードし、[Project] -> [generate javadoc] でドキュメントを生成しようとしています。
メカニズムを理解していれば、doclava ドックレットを使用するように javadoc に指示する方法が 2 つあります。
1) 次のオプションで「カスタムドックレットを使用」を選択します。
ドックレット名: com.google.doclava.Doclava
ドックレット パス: /full/path/of/my/doclava/dir/doclava-1.0.6.jar
2) 「標準のドックレットを使用する」を選択し、「javadoc オプション」に以下を入力します。
-doclet com.google.doclava.Doclava
-docletpath ${/full/path/of/my/doclava/dir/doclava-1.0.6.jar}
私はこれらの問題に遭遇しました:
最初の方法を使用すると、ドキュメントを正常に生成できますが、Android クラスが認識されないようです。doclava が "import android.util.SparseArray" を解析するとエラーが発生します
2 番目の方法を使用すると、「javadoc: エラー - ドックレット クラス com.google.doclava.Doclava 1 エラーが見つかりません」というエラーが表示されます。
実際のところ、Doclava を使用しない場合、Android API へのリンクを含むドキュメントが正しく生成されます。
android/java doc (android/java オブジェクト用) へのリンクを含むプロジェクト javadoc を作成し、「android ルック アンド フィール」を持たせたいだけです。
java - 自己参照依存関係として docletArtifact を使用してマルチモジュール Maven プロジェクトをデプロイするにはどうすればよいですか?
次のようなマルチモジュール Web アプリケーション プロジェクトがあります。
親
- ウェブベース
- 認証
- 文書
- ADFS
- テストサイト
Test-Siteは他のすべてのモジュールを問題なく使用します。
docは、JavaDoc とマウントされた Web ページ情報を組み合わせてSiteMapを構築します。それは私の SiteMap Generation のために JavaDocs を解析しているためです。Doclet はサイト マップの情報を解析して保存する最も簡単な方法だったので、Doclet Jar でもあります。
Test-sites pom.xml で私は持っています
したがって、実行mvn release:prepare
すると、スナップショットの依存関係を解決する必要があり、次のエラーが発生します。
では、プロジェクトをデプロイするときにドックレットを正しく参照するにはどうすればよいでしょうか?
enums - 一部の 5.0 言語機能 (列挙型と注釈) をカスタム ドックレットで処理する際の問題
JDK 1.7 を使用して新しいカスタム ドックレットを作成しています。これまでに発見した問題は次のとおりです。
Doc メソッドisAnnotationType()
、isAnnotationTypeElement()
、isEnum()
およびisEnumConstant()
は機能しません。それらは常に false を返します。
PackageDoc
メソッドenums()
は機能しません。常に空の配列を返します。Enums
メソッドallClasses()
およびの結果に含まれordinaryClasses()
ます。
ClassDoc
メソッドenumConstants()
は機能しません。常に空の配列を返します。Enum
定数は method の結果に含まれfields()
ます。
PackageDoc
メソッドannotationTypes()
は機能しません。常に空の配列を返します。Annotations
method の結果に含まれているためinterfaces()
、次の回避策を実装できます。
「Javadoc 5.0 の新機能」ページ ( http://docs.oracle.com/javase/7/docs/technotes/guides/javadoc/whatsnew-1.5.0.html )で見つけたものに基づいて、私は推測していますJDK 1.7 で書いているにもかかわらず、私のドックレットはある種の 5.0 より前の互換モードで動作しています。これは、「Javadoc 5.0 の新機能」ページで見つけたものです。
カスタムドックレットとの非互換性
5.0 より前に作成されたカスタム ドックレットは、5.0 の新しい言語機能を使用するソース ファイルで実行すると、互換性の問題が発生します。新しい言語機能: ドックレット API と標準ドックレットが改訂され、新しい 5.0 言語機能 (ジェネリック、列挙型、変数引数、および注釈) を処理できるようになりました。これらの機能を処理するには、カスタム ドックレットも修正する必要があります。Javadoc ツールは、可能な範囲で、1) 5.0 より前のソース コードで引き続き動作し、2) 5.0 ソース コードに対する期待に一致するプログラムのビューで、いわゆる「レガシー」ドックレットを提示しようとします。 . したがって、たとえば、型パラメーターと型引数はジェネリック コンストラクトから取り除かれ、型変数とワイルドカード型は消去によって置き換えられ、ClassDoc.fields() は列挙定数を返します。