[英]Auto-complete dependency version in properties
在我的pom中,我將依賴項的版本提取為如下屬性:
<properties>
<slf4j.version>1.7.21</slf4j.version>
</properties>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
但是,這樣做會丟失我直接在依賴項組中輸入版本時獲得的自動完成功能。
使用上面的屬性時,是否有技巧來自動完成版本?
注意:我同樣對Netbeans和Intellij的答案感興趣。
在IntelliJ中,一種快速的方法是在<dependencies></dependencies>
單擊,然后像這樣鍵入dep
:
<dependencies>
dep
</dependencies>
然后點擊tab 。 然后,您將看到以下內容:
<dependency>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
</dependency>
將光標放在artifactId
標簽內。 開始輸入工件名稱,例如slf
,選項列表將縮小,直到您看到所需的名稱為止。 選擇該選項,它將填充artifactId,並將光標移動到groupId
。 可能是您想要的那個,所以只需按Enter即可 。 然后,光標將移至version
標簽,並顯示可用版本號的列表。 選擇版本號,它將最終看起來像這樣:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.18</version>
</dependency>
我希望版本號在dependencyManagement,dependencies
指定dependencyManagement,dependencies
不是build,dependencies
因此我告訴IntelliJ通過按ctrl alt M或opt cmd M將其可以提取的內容提取到dependencyManagement中,這僅將組和工件保留在生成依賴項中,並將所有3個值放入dependencyManagement依賴項中。
然后,在dependencyManagement依賴關系中,單擊版本號,然后使用ctrl alt V或opt cmd V將其替換為屬性。
重要 -使用建議的名稱作為屬性名稱。 如果您這樣做,則可以使用
mvn versions:display-property-updates
它將在您的存儲庫中查找較新的版本並列出它們。
IDE無法自動完成屬性,因為它不知道使用該屬性的上下文。 可以在POM文件中的不同位置使用屬性值,以實現不同的依存關系。
如果您想保持自動完成狀態,就不能擁有房產
編輯:在NetBeans和IntelliJ中嘗試過,您不能自動完成POM文件中的屬性。
在IntelliJ上,首先使用版本自動創建依賴項
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
然后在版本下划線並使用快捷鍵Ctrl+Alt+v
或用鼠標Right Click -> Refactor -> Extract -> Property
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.