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

How to leave out META-INF/maven/... in JAR files produced by maven?

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

我怎样才能将这些文件排除在外?

首先要查看 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>

通过使用上面的默认值将不再是你的工件的一部分。所以从这里你可以开始根据自己的意愿自定义配置。