我正在开发一个简单的独立命令行 Java 应用程序。该项目由 Maven 管理。我想构建一个可交付成果,可以在客户端机器上复制和运行。
具有默认 'jar-with-dependencies' 类型的 maven-assembly 插件对我来说没问题,但我不想将 log4j.properties 文件打包到 jar 中。我宁愿把它放在一个单独的“res”文件夹中。
我已经设法在 res 文件夹的清单文件中放置了一个 Class-Path 标头,但是我无法从生成的 jar 中排除 log4j.properties 文件。
我正在尝试的是在不编写自定义程序集描述符的情况下排除文件。我想自定义默认解决方案,如下所示:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/log4j.properties</exclude>
</excludes>
<archive>
<manifest>
<mainClass>com.my.App</mainClass>
</manifest>
<manifestEntries>
<Class-Path>res/</Class-Path>
</manifestEntries>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration></plugin>
但它不起作用。我是否必须为此编写自定义程序集描述符?