当我构建Maven项目时,我得到一个300mb的大罐子。它必须在 75mb。有没有一种方法可以不编译未使用的Maven库/依赖项? 还是有办法找出我的项目不需要的库/依赖项?
答案 0 :(得分:1)
https://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html是您要寻找的插件。它将找到使用+未声明(= transitive)依赖项和未使用+已声明的依赖项。 请注意,它无法检测到反射。
答案 1 :(得分:0)
听起来像您需要包括Skinny WAR选项。您能否在您的项目中尝试以下POM,并让我们知道是否有助于将其从300MB减少到?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${war-plugin-version}</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>**/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>