0

私たちが使用する全社的なスーパーポンがあります。すべてのレポートを設定し、mvn siteすべてのユーザーが Findbugs、PMD などを使用していることを確認します。

やりたいことの 1 つは、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>

ただし、これを super-pom に追加すると、MANIFEST.MFファイルにはこの情報が含まれません。

super-pom がダウンロードされていることはわかっています (それを見ることができます)。また、JaCoCo のテスト カバレッジを実行しているため、他の領域が機能していることもわかっています。

4

1 に答える 1

0

問題が見つかりました:

私の最初の試みは、別のプラグインを使用することでした: org.apache.felix#maven-bundle-plugin。これはうまくいかなかったので、org.apache.maven.plugins#maven-jar-pluginアーカイブ構成を試しました。これはローカルで機能しました。

次に、スーパーポンプロジェクトを Maven リポジトリのこの変更に置き換え、$HOME/.m2/repository/.../super-pom.xmlマシンから削除して試しました。うまくいきませんでした。

私が気付いていなかったのは、そのスーパーポムをリリースリポジトリではなくプラグインリポジトリに保存したことです。したがって、古い誤った .super_pom

super_pom を正しいディレクトリに配置すると、問題が解決しました。

于 2014-05-06T21:14:48.693 に答える