時間久了,容易混淆,簡單記錄
依賴範圍
依賴範圍 | 編譯classpath有效 | 測試classpath有效 | 運作classpath有效 | 案例 |
---|---|---|---|---|
compile | Y | Y | Y | srping-core |
test | —— | Y | —— | junit |
provided | Y | Y | —— | servlet-api |
runtime | —— | Y | Y | JDBC驅動 |
system | Y | Y | —— | 本地的,Maven倉庫之外的類庫 |
optional(可選的)
依賴關系
projectA -----> projectB -----> projectC
-----> project D
上面projectA 依賴 projectB,projectB 依賴projectC、projectD。
假如projectB 引用 projectC 被聲明位optional=true,則projectA隻有顯式依賴projectC,才能使用projectA的類庫