11

target/generated-sources/ に 1 つのファイルを生成するプラグインを作成しました。このプラグインにはモジョが 1 つしかありません。このモジョは次のように宣言されています。

/**
 * @goal convertsql
 * @phase generate-sources
 * @requiresProject
 */
public class ConverterMojo extends AbstractMojo { 

プロジェクトでプラグインを使用したいのですが、実行タグを指定しないと機能しません:

<executions>
    <execution>
        <id>convert</id>
        <goals><goal>convertsql</goal></goals>
        <phase>generate-sources</phase>
    </execution>
</executions>

次のようにプラグインのみを構成したいと思います。

<plugin>
    <groupId>com.my.plugins</groupId>
    <artifactId>sqlconverter</artifactId>
    <version>1.0-SNAPSHOT</version>
    <configuration>
        <sourceFile>src/main/resources/sql/schema_oracle.sql</sourceFile>
    </configuration>
</plugin>

プラグインのデフォルトのモジョを指定することはできますか? デフォルトの目標とフェーズはモジョで定義されています... つまり、jar プラグインを使用する場合、どのフェーズで実行したい目標を指定する必要はありません... 自動です。

ありがとう!

4

2 に答える 2

1

META-INF/plexus/components.xmlプラグインにファイルを追加<extensions>true</extensions>し、プラグイン ブロックに設定する必要があります。

11.6.3を参照してください。参照用に Maven Bookのデフォルト ライフサイクルをオーバーライドする

于 2011-04-20T15:36:28.417 に答える