如何在maven生成的JAR文件中省略META-INF / maven / ...

时间:2015-04-20 18:24:35

标签: maven maven-assembly-plugin

Maven似乎将其pom.xmlpom.properties放入META-INF/maven/example.com/example.com.foo/pom.properties的JAR。

如何让它留下这些文件?

1 个答案:

答案 0 :(得分:2)

首先要看一下Maven archiver

的文档

这显示了可用的可能性:

<archive>
  <addMavenDescriptor/>
  <compress/>
  <forced/>
  <index/>
  <manifest>
    <addClasspath/>
    <addDefaultImplementationEntries/>
    <addDefaultSpecificationEntries/>
    <addExtensions/>
    <classpathLayoutType/>
    <classpathMavenRepositoryLayout/>
    <classpathPrefix/>
    <customClasspathLayout/>
    <mainClass/>
    <packageName/>
    <useUniqueVersions/>
  </manifest>
  <manifestEntries>
    <key>value</key>
  </manifestEntries>
  <manifestFile/>
  <manifestSections>
    <manifestSection>
      <name/>
      <manifestEntries>
        <key>value</key>
      </manifestEntries>
    <manifestSection/>
  </manifestSections>
  <pomPropertiesFile/>
</archive>

如果您更改配置以防止使用默认值:

<project>
  <url>http://some.url.org/</url>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        ...
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>

通过使用上述内容,默认值将不再是您的工件的一部分。因此,您可以从此处开始根据您的意愿自定义配置。