Dmi*_*ich 6 maven-2 maven-3 maven
正如标题所说,我想知道在Maven中是否有这样的机会知道jar文件被加载到模块中.就像依赖:树,但我想看到具有特定类文件的jar.谢谢!
据我所知,没有特定的 Maven 插件(3.0+)可以搜索类声明的依赖项。但是,我相信我了解您的需求并提供以下解决方案:
查找重复声明
mvn dependency:analyze-duplicate -DcheckDuplicateClasses
Run Code Online (Sandbox Code Playgroud)
在 Eclipse 中查找包含 JAR
使用CTRL+ SHIFT+ T,弹出打开类型对话框。输入部分或整个类名会显示构建类路径上包含 JAR 的列表。
在没有IDE的情况下查找包含JAR
如果需要更多的程序控制来检查没有 IDE 的系统,比如 CI 服务器,以下代码片段可用于列出包含特定类甚至特定名称模式的 JAR 文件。这种方法使用 Maven 的依赖插件将所有依赖项收集在一个临时目录中,以便可以轻松搜索它们。
对于 Unix 或 Git Bash 系统
mvn clean dependency:copy-dependencies -DoutputDirectory=target/temp
for j in target/temp/*.jar; do jar -tf $j | grep SomeClass && echo $j; done
Run Code Online (Sandbox Code Playgroud)
对于 Windows,通过cmd
shell
mvn clean dependency:copy-dependencies -DoutputDirectory=target/temp
for /R %G in (target\temp\*.jar) do @jar -tf "%G" | find "SomeClass" && echo %G
Run Code Online (Sandbox Code Playgroud)
在任一情况下,将显示匹配条目的完整包和类名,后跟包含的 JAR 文件名。grep
并且find
可以进一步细化搜索参数以根据需要限制匹配,例如SomeClass.class
.
希望这可以帮助。
归档时间: |
|
查看次数: |
2200 次 |
最近记录: |