1

以下のマルチモジュールMavenプロジェクトがあります

MyProj
  -Api
    -pom.xml
  -Impl
    -pom.xml
  -pom.xml

maven replacerプラグインを使用していくつかのタグとコードを置き換えた後、Api&Implモジュールを別のディレクトリにコピーしています

MyProj
  -Api
    -pom.xml
  -Impl
    -pom.xml
  -pom.xml
  -PublicDir
      -Api
        -pom.xml
      -Impl
        -pom.xml
      -pom.xml  

4つのプロジェクトすべて(変更および変更なし)のアーティファクトを作成したい親pom(\ MyProject \ pom.xml)からPublicDirの下で生成されたソースをコンパイルするのに問題があります。このシナリオを処理する方法はありますか?build-helper-maven-pluginプラグインはこれに役立ちますか?このプラグインを追加し、生成されたソースの場所を指定しましたが、目的の結果を得ることができませんでした。

または簡単に言えば、MyProj / pom.xmlのすべてのフェーズが完了した後、他のMyProj / publicDir / pom.xmlを実行できますか?

これがpomです-

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>sample.mygroup</groupId>
    <artifactId>myartifact</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>api</module>
        <module>impl</module>
    </modules>
    <dependencies>
        <!-- Some dependencies -->
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>com.google.code.maven-replacer-plugin</groupId>
                <artifactId>replacer</artifactId>
                <version>1.5.0</version>
                <executions>
                    <execution>
                        <id>regex</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>replace</goal>
                        </goals>
                        <configuration>
                            <includes>
                                <include>api/**/*.*</include>
                                <include>impl/**/*.*</include>
                            </includes>
                            <token>@Start.*?@End</token>
                            <value></value>
                            <regexFlags>
                                <regexFlag>DOTALL</regexFlag>
                            </regexFlags>
                            <outputDir>/publicDir</outputDir>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- some more plugin -->
        </plugins>
</project>
4

0 に答える 0