亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 包的 Maven 依賴關系

Java 包的 Maven 依賴關系

森林海 2023-06-21 16:36:14
我有一個具有標準 Maven 層次結構的 Java 項目:src├── main│   ├── java│   │   └──com│   │      └──foo│   │         ├──bar│   │         │  └──baz│   │         └──qux│   └── resources└── test如何獲取包使用的依賴項列表com.foo.bar.baz?
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

我能夠使用jdeps完成這項工作。用法非常簡單:

jdeps?<options>?<classes...>

其中<classes>可以是 .class 文件、目錄、JAR 文件或完全限定類名的路徑名。

我發現一些對我的案例有用的選項:

  • -verbose:class:默認打印類級別的依賴關系,不包括同一包內的依賴關系。

  • -classpath <path>:指定在哪里查找類文件。

  • -package <pkgname>:查找與給定包名稱匹配的依賴項(可以多次給出)

  • -regex <regex>:查找與給定模式匹配的依賴項

  • -filter <regex>:過濾與給定模式匹配的依賴項。如果多次給出,將使用最后一個。

  • -filter:package:過濾同一個包內的依賴關系(默認)

  • -filter:archive:過濾同一檔案內的依賴關系

  • -filter:none: 沒有-filter:package-filter:archive過濾。通過 -filter 選項指定的過濾仍然適用。

  • -include <regex>:將分析限制為匹配模式的類。此選項過濾要分析的類的列表。

  • -recursive:遞歸遍歷所有依賴關系。

包的用法示例com.abc.xyz.ui

jdeps.exe?-filter:archive?-classpath?<project_classpath>?com\abc\xyz\ui\

<project_classpath>項目的類路徑在哪里。

輸出:


com.abc.xyz.ui (ui)

? ?-> com.itextpdf.text? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? itextpdf-5.5.12.jar

? ?-> org.apache.commons.io? ? ? ? ? ? ? ? ? ? ? ? ? ? ? commons-io-2.6.jar

? ?-> org.apache.commons.lang3.time? ? ? ? ? ? ? ? ? ? ? commons-lang3-3.8.1.jar

? ?-> org.apache.commons.text? ? ? ? ? ? ? ? ? ? ? ? ? ? commons-text-1.6.jar

? ?-> org.controlsfx.control? ? ? ? ? ? ? ? ? ? ? ? ? ? ?controlsfx-8.40.15.jar

? ?-> java.io

? ?-> java.lang

? ?-> java.net

? ?-> java.util

我使用-filter ^java\..*選項排除 Java 運行時類:


jdeps.exe -filter:archive -filter ^java\..* -classpath <project_classpath> com\abc\xyz\ui\

輸出:


com.abc.xyz.ui (ui)

? ?-> com.itextpdf.text? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? itextpdf-5.5.12.jar

? ?-> org.apache.commons.io? ? ? ? ? ? ? ? ? ? ? ? ? ? ? commons-io-2.6.jar

? ?-> org.apache.commons.lang3.time? ? ? ? ? ? ? ? ? ? ? commons-lang3-3.8.1.jar

? ?-> org.apache.commons.text? ? ? ? ? ? ? ? ? ? ? ? ? ? commons-text-1.6.jar

? ?-> org.controlsfx.control? ? ? ? ? ? ? ? ? ? ? ? ? ? ?controlsfx-8.40.15.jar


查看完整回答
反對 回復 2023-06-21
  • 1 回答
  • 0 關注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號