[英]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
子部分。 它說,以下是引用可變對象的可能方法
- env.X:在變量前加上“ env”。 將返回外殼的環境變量。 例如,$ {env.PATH}包含$ path環境變量(在Windows中為%PATH%)。
- project.x:POM中帶點號(。)的路徑將包含相應元素的值。 例如:可通過$ {project.version}訪問1.0。
- settings.x:settings.xml中帶點號(。)的路徑將包含相應元素的值。 例如:false可通過$ {settings.offline}訪問。
- Java系統屬性:所有可通過java.lang.System.getProperties()訪問的屬性都可以作為POM屬性使用,例如$ {java.home}。
- x:設置在元素或外部文件中,該值可用作$ {someVar}。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.