我正在使用Maven-Shade-Plugin创建可运行的Uber
jar。根据本页上的最后一帧,可以使用以下方法将罐子的大小最小化:
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
但是,此功能未考虑log4j.properties文件中声明的类。因此,例如org.apache.log4j.appender.TimeAndSizeRollingAppender
,即使在log4j.properties文件中声明了它,也不包含在Uber-
jar中。
我相信我将在Spring面临同样的问题。如果我的代码仅引用接口A,并且我的Spring文件包含实现A的类B的实例化,则B可能不会添加到jar中,因为它不在代码中。
我怎么解决这个问题?
此功能已添加到maven-shade-
plugin的1.6版中(刚刚发布)。minimalJar现在将不会删除过滤器专门包含的类。请注意,在过滤器中包含工件的某些类将排除该工件的未指定类,因此请确保包括所需的所有类。
这是一个示例插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
<filters>
<filter>
<artifact>log4j:log4j</artifact>
<includes>
<include>**</include>
</includes>
</filter>
<filter>
<artifact>commons-logging:commons-logging</artifact>
<includes>
<include>**</include>
</includes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
要仅包括特定的类,请在过滤器的类名中使用路径斜杠将它们添加为包括在内(同样,将自动排除不包括的类)。
<filter>
<artifact>org.yourorg:your-artifact</artifact>
<includes>
<include>org/yourorg/yourartifact/api/*</include>
<include>org/yourorg/yourartifact/util/*</include>
</includes>
</filter>
我正在使用maven-shade-plugin在构建的包阶段重新定位一些包。我还使用maven-bundle-plugin生成一个清单。问题是bundle插件在shade插件之前运行(在过程类阶段),并且在生成的清单的导出中没有包含任何我的shade包。 -- 根据要求,我的POM的阴影和捆绑部分: 从这里取的
我有一个项目,它使用maven-assembly-plugin打包了几个(可执行的jar)程序集--基本上相同的代码,但针对不同的客户机使用了不同的数据集。 我需要在可执行jar中使用spring,由于spring中的文件命名,我需要使用maven-shade-plugin创建jar。这工作很好,我可以创建可执行的jar,但我不能确定如何将我的其他文件组装到这个新的shaded jar,因为sha
Maven shade plugin 为 Maven 提供了 Jar 打包的神器,包括将所依赖的 jar 包都打包到一起。
问题内容: 我是Gradle新手。我想构建一个uberjar(AKA fatjar),其中包括项目的所有传递依赖项。我需要在“ build.gradle”中添加哪些行? 这是我目前拥有的:(我是从几天前的某个地方复制的,但是不要从那里收集。) 问题答案: 您是否尝试过 gradle食谱中 的fatjar示例? 您正在寻找的是gradle 的影子插件
想法? 谢了。
我试图使用一个GridBagLayout有一个JFrame,其中包含一个具有网格布局的JPanel和一个只有一个大按钮的JPanel。我希望所有的行都是相同的大小,并且带有JButton的JPanel与一行的大小相同。然而,按钮面板目前是空的,大约是JFrame的1/3。我不太确定发生了什么,但是维护这个结构对我来说非常重要,因为我的代码的其余部分都使用了这个结构。任何帮助都很感激,并提前感谢您。