与子maven项目共享变量

时间:2014-07-28 15:12:52

标签: maven jar manifest.mf

我有一个父pom.xml,它构建了一系列模块。作为父pom.xml的一部分,我读了一个配置并将许多变量放入构建环境中:

 BUILD_DATE=2014/07/24 15\:37\:06
 BUILD_NUMBER=78
 VERSION=GGY1.6

我希望将此信息放入清单jar文件中。我这样做如下:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <finalName>atf</finalName>
                <archive>
                    <manifestEntries>
                        <Built-Date>${maven.build.timestamp}</Built-Date>
                        <Version>${VERSION}B${BUILD_NUMBER}</Version>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>

我不确定pom.xml的哪一部分应该进入。我把它放在构建阶段,在某些模块中这可以解决,但在其他模块中,它在清单中显示为:

Created-By: Apache Maven 3.0.5
Built-Date: 28/07/2014-16:00
Version: ${VERSION}B${BUILD_NUMBER}
Archiver-Version: Plexus Archiver

pom.xml中是否有特定的位置我需要放置maven-jar-plugin才能获取父级创建的变量?

1 个答案:

答案 0 :(得分:0)

我认为模块pom.xml文件中缺少的部分是:

        <plugin><groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
        </plugin>

添加了这个片段的任何模块pom,正确填充了清单......以及maven-jar-plugin片段。看起来两者都需要访问父pom.xml

设置的值