2017-09-13 86 views
0

当我构建我的Spring引导项目时,它也会创建一个目标文件夹和 target/classes,但它不会创建任何META-INF。我也包括依赖 -maven不会为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> 

+0

https://maven.apache.org/guides/getting-started/index.html#How_do_I_add_resources_to_my_JAR – nullpointer

回答

0

两种方式来做到这一点。

  1. 形式的maven-jar-plugin文档:

请注意,下面的参数已经完全从插件配置中删除 :

useDefaultManifestFile 

如果您需要定义你自己的MANIFEST.MF文件,你可以简单的ieve 是通过Maven的归档配置就像下面这个例子:

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

在那里你可以把你的MANIFEST.MFsrc/main/resources/META-INF项目的文件夹中。命令

mvn clean package 

默认情况下会生成带有src/main/resources的项目jar。

  1. usage of the plugin该票据指出

与2.1版开始,行家-JAR-插件使用Maven的归档 3.1.1。这意味着它不再在默认情况下在清单中创建规范和实现细节。如果你想要他们 你必须明确地说你的插件配置。

这是可以做到用:

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