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  

我想为所有四个项目(已更改和未更改)创建工件我在编译从父 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