デフォルトのライフサイクルで実行されるプラグインを作成する場合、プロジェクトとそのリソースへの参照を取得するのは簡単ですが、サイトのライフサイクルで実行されるプラグインを作成するときに、MavenProjectオブジェクトの代わりにnullを取得します。
ヒント、ヒント、提案はありますか?
デフォルトのライフサイクルで実行されるプラグインを作成する場合、プロジェクトとそのリソースへの参照を取得するのは簡単ですが、サイトのライフサイクルで実行されるプラグインを作成するときに、MavenProjectオブジェクトの代わりにnullを取得します。
ヒント、ヒント、提案はありますか?
私が抱えていた問題は、私の Mojo に渡される Project パラメーターの宣言に関連していたことが判明しました。Maven ビルド内には MavenProject のインスタンスが 1 つしかないため、パラメーターに式を指定することはできません (MavenProject オブジェクトにキャストできる Java String は実際には存在しません)。デフォルト値は "${project }」。
そのため、Maven Plugin Mojo 内から MavenProject にアクセスするには、どのフェーズでも、次のパラメーター宣言を使用します。
/**
* Project instance, used to add new source directory to the build.
*
* @parameter expression="export.project" default-value="${project}"
* @required
* @readonly
*/
private MavenProject project;