4

コードを生成して{root}/target/generated-sources/foo の下に貼り付けるモジョを作成しました。私が実行すると:

mvn clean install

生成されたソースがビルド パスに含まれていないことを示すエラーが表示されます (生成されたファイルは存在しますが、コンパイル フェーズで取得されません)。この回答から、POM のソース ディレクトリとして{root}/target/generated-sources/fooを動的に追加する必要があることがわかりました。問題は、これを行う方法に関する情報を追跡できなかったことです。

バックアップ プランとして、ビルド ヘルパー Maven プラグインを使用する予定ですが、可能であればモジョでこれを自動的に実行したいと考えていました。

4

1 に答える 1

2

これを Mojo に追加することを好みます。

/**
  * The current project representation.
  * @parameter expression="${project}"
  * @required
  * @readonly
  */
 private MavenProject project;

/**
 * Directory wherein generated source will be put; main, test, site, ... will be added implictly.
 * @parameter expression="${outputDir}" default-value="${project.build.directory}/src-generated"
 * @required
 */
private File outputDir;

明らかにdefault-value、独自のパターンに合わせて を変更できます。

そして、execute()メソッドで:

if (!settings.isInteractiveMode()) {
    LOG.info("Adding " + outputDir.getAbsolutePath() + " to compile source root");
}
project.addCompileSourceRoot(outputDir.getAbsolutePath());
于 2012-08-13T09:47:17.263 に答える