是否有任何插件或功能可以确定哪些 JAR 在应用程序或项目中未使用(在给定的项目生命周期中)
Is there any plugin or feature that determines which JARs are unused in an application or a project (in a given project life cycle)
一个典型的 Java 项目有 30-40 个 jar 文件。 Maven 解决依赖关系。有时不再需要某些功能。但是没有人会因为害怕破坏代码或应用程序而接触 JAR。
例如:使用 JAXB 的 jersey (JAX-RS) 实现有许多解决方法,不同的 Maven 配置。
不同的开发人员有时会采用不同的方法来完成同一件事。全部正确。我同意他们应该讨论出来。但问题是未使用的 JAR 会使构建包变重。
有没有一个插件可以映射(使用反射)并检查一次(一个项目生命周期)并标记不需要或未使用的 JAR。这将使用 java 反射,可能会变慢,但这是必需的。
有什么解决办法吗?
Maven 使用依赖插件帮助找出未使用的依赖项。
mvn dependency:analyze
它显示未使用的依赖项如下
[INFO] --- maven-dependency-plugin:2.8:analyze (default-cli) @ mymaven ---
[WARNING] Unused declared dependencies found:
[WARNING] org.apache.commons:commons-lang3:jar:3.0:compile
一个典型的 Java 项目有 30-40 个 jar 文件。 Maven 解决依赖关系。有时不再需要某些功能。但是没有人会因为害怕破坏代码或应用程序而接触 JAR。
例如:使用 JAXB 的 jersey (JAX-RS) 实现有许多解决方法,不同的 Maven 配置。
不同的开发人员有时会采用不同的方法来完成同一件事。全部正确。我同意他们应该讨论出来。但问题是未使用的 JAR 会使构建包变重。
有没有一个插件可以映射(使用反射)并检查一次(一个项目生命周期)并标记不需要或未使用的 JAR。这将使用 java 反射,可能会变慢,但这是必需的。 有什么解决办法吗?
Maven 使用依赖插件帮助找出未使用的依赖项。
mvn dependency:analyze
它显示未使用的依赖项如下
[INFO] --- maven-dependency-plugin:2.8:analyze (default-cli) @ mymaven ---
[WARNING] Unused declared dependencies found:
[WARNING] org.apache.commons:commons-lang3:jar:3.0:compile