1

文字列パラメーターを介してwro4jmavenプラグインに提供したいカスタムファクトリ実装があります。問題は、ファクトリがプラグインと同じプロジェクトでビルドされているため、プラグインがビルドからの出力を渡さず、素晴らしいClassNotFoundExceptionが発生することです。

ビルド出力を認識させるためにwro4jmojoにアタッチできるアノテーションがあることは知っていますが、それには、スマートに聞こえないソースからwro4jにパッチを適用してビルドする必要があります。また、5行のファクトリ実装を含めるためだけに、まったく異なるアーティファクトを作成することにも熱心ではありません。もっと簡単な方法があるはずだと思うので、質問は

mojoを編集せずに、同じpom内のプラグインにビルドアーティファクトを渡す方法はありますか?

4

2 に答える 2

2

実際のプラグイン構成なしで問題が何であるかを推測する必要があります。ただし、一般に、一部のプラグインに依存関係(またはクラス)を追加する必要がある場合は、そのクラスを独自のアーティファクトにラップする必要があります。つまり、別のプロジェクトに移動する必要があります。

基本的に、Mavenは残りのビルドサイクルを開始する前にプラグインの依存関係を解決するため、その時点でクラスがまだコンパイルされていない可能性があります。

于 2012-05-31T19:10:39.893 に答える
1

ファクトリクラスがコンパイルされるときに(直後に発生する)process-classes、フェーズではなくフェーズで実行するようにwro4jプラグインに指示してみてください。compileprocess-classescompile

<plugin>
    <groupId>ro.isdc.wro4j</groupId>
    <artifactId>wro4j-maven-plugin</artifactId>
    <version>${wro4j.version}</version>
    <executions>
        <execution>
            <phase>process-classes</phase>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <wroManagerFactory>...</wroManagerFactory>
    </configuration>
</plugin>
于 2012-05-31T19:12:05.157 に答える