超级POM清单条目未被使用

时间:2014-05-06 19:24:41

标签: maven pom.xml maven-jar-plugin parent-pom

我们使用的是企业范围的超级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

如果我将以下内容添加到本地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中找到。

1 个答案:

答案 0 :(得分:0)

发现问题:

我的第一次尝试是使用另一个插件:org.apache.felix#maven-bundle-plugin。这不起作用,所以我尝试了org.apache.maven.plugins#maven-jar-plugin存档配置。这在当地有效。

然后我用我的Maven仓库中的这个更改替换了我的超级pom项目,然后从我的机器中删除了$HOME/.m2/repository/.../super-pom.xml并尝试了它。它不起作用。

我没有意识到的是,我将超级pom存储在我的插件存储库中,而不是我的发布存储库中。因此,它下载了较旧且不正确的super_pom

将super_pom放在正确的目录中解决了这个问题。