【发布时间】:2012-02-07 16:33:39
【问题描述】:
我正在使用 Maven-Shade-Plugin 创建一个可运行的 Uber-jar。 根据this page上的最后一帧,可以通过以下方式最小化jar的大小:
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
但是这个特性没有考虑到 log4j.properties 文件中声明的类。因此,例如org.apache.log4j.appender.TimeAndSizeRollingAppender 不包含在 Uber-jar 中,即使它已在 log4j.properties 文件中声明。
我相信我会在使用 Spring 时遇到同样的问题。如果我的代码仅引用接口 A,并且我的 Spring 文件包含实现 A 的类 B 的实例化,那么 B 可能不会添加到 jar 中,因为它不在代码中。
我该如何解决这个问题?
【问题讨论】:
-
Alsmot,但不完全是stackoverflow.com/questions/8698814/…的副本
标签: java maven maven-plugin executable-jar