簡體   English   中英

Maven的依賴版本?

[英]maven dependency version?

我是新手。 我有一個項目,它有一個pom。 在pom內部有一個依賴項,如下所示:

   <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>some-project</artifactId>
        <version>${originalVersion}</version>
        <scope>compile</scope>
    </dependency>

我的問題是$ {originalVersion}值從哪里來?

謝謝!

它可以在pom的其他位置定義,也可以在parent-pom中定義 (可以有多個,因為父母也可以有父母),也可以通過配置文件定義(可以在其他位置定義,例如您的settings.xml )。 它也可能作為命令行參數傳遞給了Maven,但是您可能已經注意到了。

originalVersion不是標准的Maven屬性,因此它必須出現在其他位置,例如在父pom中,如下所示:

<properties>
    <originalVersion>1.2</originalVersion>
</properties>

請參閱《 Maven屬性指南》

它來自pom.xml中的一個屬性。 像這樣:

<properties>
   <originalVersion>1.0</originalVersion>
</properties>

在pom.xml文件中查找<properties>部分,必須有一個類似<originalVersion>...</originalVersion>的條目。

檢查Maven教程頁面上的properties子部分。 它說,以下是引用可變對象的可能方法

  1. env.X:在變量前加上“ env”。 將返回外殼的環境變量。 例如,$ {env.PATH}包含$ path環境變量(在Windows中為%PATH%)。
  2. project.x:POM中帶點號(。)的路徑將包含相應元素的值。 例如:可通過$ {project.version}訪問1.0。
  3. settings.x:settings.xml中帶點號(。)的路徑將包含相應元素的值。 例如:false可通過$ {settings.offline}訪問。
  4. Java系統屬性:所有可通過java.lang.System.getProperties()訪問的屬性都可以作為POM屬性使用,例如$ {java.home}。
  5. x:設置在元素或外部文件中,該值可用作$ {someVar}。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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