簡體   English   中英

屬性中的自動完成依賴項版本

[英]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 Mopt cmd M將其可以提取的內容提取到dependencyManagement中,這僅將組和工件保留在生成依賴項中,並將所有3個值放入dependencyManagement依賴項中。

然后,在dependencyManagement依賴關系中,單擊版本號,然后使用ctrl alt Vopt 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM