マニフェストファイルにエントリを追加することについてちょうどofficial instruction pageに記載されているように、マニフェストファイルのエントリであるため、実装と仕様のバージョンとタイトルをサポートすることもできます。
Apache Maven ArchiverはMaven Shade Pluginではサポートされていませんので、<archive>
要素はここでは機能しません。あなたはMavenのシェードのプラグインが提供するManifestResourceTransformer
を、使用する必要があります。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.tooling</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>${project.build.mainClass}</Main-Class>
<Specification-Title>${project.artifactId}</Specification-Title>
<Specification-Version>${project.version}</Specification-Version>
<Implementation-Title>${project.artifactId}</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
この構成はまた、私が直接JavaでApplication.class.getPackage().getImplementationVersion()
を経由して、バージョン番号を取得することができる午前私のプロジェクトで使用されています。
これらすべてのエントリに関する文書はどこにありますか? [documentation](https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ManifestResourceTransformer)に表示される唯一のものは、 ''、 '」、「」を参照してください。 –
私自身の質問に答えるために、あなたが望むものを追加することができるので、ドキュメントにはありません。 –