如果我运行
mvn package
,而文件(例如 src/main/resources/log4j2.xml
)在 gvim 中打开,Maven 会将 .log4j2.xml.swp
复制到 target/classes/
中,然后将其捆绑到目标 JAR 中。
如何排除与
.??*
全局模式匹配的任何内容? pom.xml
相当简单(尽管依赖项列表非常大),特别是,<plugin>
下唯一的 <build>
是:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>2.1.0</version>
<executions>
<execution>
<id>classpath-generation</id>
<phase>compile</phase>
<goals>
<goal>assemble</goal>
</goals>
<configuration>
<platforms>
<platform>unix</platform>
</platforms>
<unixScriptTemplate>src/templates/tools_env.sh</unixScriptTemplate>
<assembleDirectory>${project.build.directory}/classes</assembleDirectory>
<binFolder>.</binFolder>
<generateRepository>false</generateRepository>
<programs>
<program>
<id>tools_env.sh</id>
<mainClass>-</mainClass>
</program>
</programs>
</configuration>
</execution>
</executions>
</plugin>
您似乎正在使用 Jar 插件的默认设置运行,该插件将复制这些临时文件。
自行控制并遵循文档: https://maven.apache.org/plugins/maven-jar-plugin/index.html
要排除内容,您可以使用类似的内容
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.1</version>
<configuration>
<excludes>
<exclude>**/*.swp</exclude>
</excludes>
</configuration>
</plugin>