Maven并未为Spring Boot Project创建Meta-Inf



当我构建春季启动项目时,它会创建一个目标文件夹和目标/类也可以创建任何元I-Inf。我还包括依赖项 -

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
    <archive>
        <index>true</index>
        <manifest>
            <addClasspath>true</addClasspath>
        </manifest>
        <manifestEntries>
            <mode>development</mode>
            <url>${project.url}</url>
            <key>value</key>
        </manifestEntries>
    </archive>
</configuration>

做到这一点的两种方法。

  1. 形成maven-jar-plugin文档:

请注意,以下参数已完全删除 来自插件配置:

useDefaultManifestFile

如果您需要定义自己的清单。 通过以下示例,通过Maven Archiver配置:

<configuration>
    <archive>
        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
    </archive>
</configuration>

您可以将MANIFEST.MF放在项目的src/main/resources/META-INF文件夹下。命令

mvn clean package

将使用src/main/resources构建项目jar。

  1. 插件使用时的注释指出

从版本2.1开始,Maven-Jar-Plugin使用Maven Archiver 3.1.1。这意味着默认情况下,它不再在清单中创建规范和实现细节。如果你想要他们 您必须在插件配置中明确说明。

可以使用:

完成的
<manifest>
     <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
     <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>

最新更新