我们有一个公司范围内的超级 pom 供我们使用。它设置所有mvn site
报告,确保所有用户都在使用 Findbugs、PMD 等。
我们想做的一件事是将输入的内容添加到我们的MANIFEST.MF
文件中。这些条目帮助我们将特定的 jar 固定到特定的 Jenkins 构建和 Subversion 修订版。清单如下所示:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: david
Build-Jdk: 1.7.0_55
Name: Build-Information
Project-Name: tc-jsonp-filter-trunk
SVN-Revision: 23928
Build-Number: 23
Name: Module-Information
Group-ID: com.travelclick
Version: 5.1
Artifact-ID: tc-jsonp-filter
如果我将以下内容添加到 local pom.xml
,一切正常:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifestSections>
<manifestSection>
<name>Build-Information</name>
<manifestEntries>
<Project-Name>${env.JOB_NAME}</Project-Name>
<Build-Number>${env.BUILD_NUMBER}</Build-Number>
<SVN-Revision>${env.SVN_REVISION}</SVN-Revision>
</manifestEntries>
</manifestSection>
<manifestSection>
<name>Module-Information</name>
<manifestEntries>
<Group-ID>${project.groupId}</Group-ID>
<Artifact-ID>${project.artifactId}</Artifact-ID>
<Version>${project.version}</Version>
</manifestEntries>
</manifestSection>
</manifestSections>
</archive>
</configuration>
</plugin>
</plugins>
....
</build>
但是,如果我将其添加到我的超级 pom 中,则该MANIFEST.MF
文件不包含此信息。
我知道正在下载超级 pom(我可以看到),并且我知道其他区域正在工作,因为它进行 JaCoCo 测试覆盖,并且仅在超级 pom 中找到。