問題タブ [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.

0 投票する
1 に答える
213 参照

java - Maven: 依存関係駆動型の javadoc 集約とカスタム ドックレット

問題を実証するために、より大きな規模でやりたいことの非常に単純なデモを用意しました。

構成: Java 1.8、maven 3.3.9、maven-javadoc-plugin 3.0.1

Maven 成果物 testA、testB、お​​よび testC があります。コンポーネント testA は、javadoc アグリゲーター プロジェクトです。クラス B (testB コンポーネントにあります) は、クラス C (testC コンポーネントにあります) をインポートしてインスタンス化します。

testA は testB に直接依存し、testB は testC に直接依存します (両方ともスコープが提供されます)。したがって、testA は testC に推移的な依存関係を持ちます。

さらに、クラス B はカスタム javadoc タグでタグ付けされています。

私はドックレットを作成した経験がないので、インターネットで見つけたドックレットを使用して、必要に応じて変更しました (基本的に、exclude メソッドを書き直して、カスタム タグを含むクラス ドキュメントのみを含めるようにしました)。

前述のように、testA はアグリゲーターであり、直接的な (非推移的な) 依存関係のみから依存ソースを収集し、タグ付けされたクラスのみの javadoc を生成することを目的としています。これには、ビルド中にソース コードをバンドルするための直接的な依存関係が必要になるため、maven-source-plugin を使用してコンポーネント testB からソース アーティファクトを生成します。

さて、問題は、maven javadoc プラグインを実行すると、次の例外で失敗することです。

例外は次の行を参照しています。

処理するパッケージがないようです。ただし、単一のコンポーネントで実行した場合、ドックレットは意図したとおりに機能すると確信しています (非集計の使用、maven なしで試した - javadoc cmd)。また、標準ドックレットを使用すると集約全体が機能しますが、タグ付けされたクラスのみを含める必要があるため、これは役に立ちません。

これが私のアグリゲーターのPOM.xmlです:

私は何を間違っていますか?誰か助けてくれませんか?

0 投票する
1 に答える
295 参照

java - Oracle から提供されたドックレット クラスを実行できません

Doclets ( JDK 9 )を試してみたいので、このリンクにあるすべてを段階的に試しました。Exampleクラスにカスタムを追加していません。これは、Oracle が指定したとおりです ( imports を宣言したところです)。

オラクルは次のコマンドを提供します。

指定されたjavadocコマンドを実行すると、次のエラーが表示されます。

javadoc: エラー - ドックレット クラスが見つかりません

ディレクターに問題があるように見えるので、コマンドのバリエーションをいくつか試しましたが、すべて失敗しました。

Example.javaデスクトップフォルダーに配置します:C:\Users\George\Desktop\

だから、私のコマンドラインで I cd C:\Users\George\Desktop\. 次にjavac Example.java(コンパイルしたい場合)。

そして、次のすべてのコマンドを試してみると、同じエラーが発生します。

.

(+引用符なし)

javadoc -doclet Example -overviewfile overview.html"C:\Users\George\Desktop\Example.java"

SOで見つかった他のいくつかのことを試しましたが、やはり何も機能しません。私は何が欠けていますか?与えられた例はうまくいくはずではありませんか?

クラスの例(私が見ていないものがある場合に備えて):