maven没有为spring boot项目创建META-INF

时间:2017-09-13 12:46:07

标签: java maven maven-plugin

当我构建我的Spring启动项目时,它会创建一个目标文件夹和 目标/类也,但它不会创建任何META-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 个答案:

答案 0 :(得分:2)

有两种方法可以做到。

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

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

    useDefaultManifestFile
    
      

    如果您需要定义自己的MANIFEST.MF文件,您可以轻松实现   通过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. usage of the plugin的说明指出
    2.   

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

      可以使用以下方法完成:

      <manifest>
           <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
           <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
      </manifest>