[英]Maven - using version in the dependency
我有一個新的應用程序,其pom具有父標簽和所有標簽。 我必須在此應用程序中包含另一個依賴項,其父項與當前應用程序的父項不同。 問題是新依賴項的版本標記。
當前pom:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>abc-pom</artifactId>
<groupId>com.abc</groupId>
<version>4.480.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<groupId>com.abc.libs</groupId>
<artifactId>dynamixSession</artifactId>
<packaging>jar</packaging>
<name>dynamixSession</name>
.....
.....
<dependency>
<groupId>com.pqr.someOtherProject</groupId>
<artifactId>SomeCoreProcessing</artifactId>
<version>4.2.14.2-SNAPSHOT</version>
<!-- <version>${project.version}</version>-->
<scope>provided</scope>
</dependency>
這個pom有用。 由於我在此處對版本號進行硬編碼,因此每次版本更改時都需要更新此pom嗎? 還是會自動更新。 但是我懷疑它會自動更新。 我想使用“ $ {project.version}”,這樣我就不必更新它。 但是,如果我使用“ $ {project.version}”,它將嘗試查找“ com.pqr.someOtherProject.SomeCoreProcessing:4.480.0-SNAPSHOT”,該名稱不存在。
有沒有辦法解決這個問題,還是我堅持在pom中編碼版本?
謝謝
您可以使用版本插件來實現。 這將是最簡單的方法。 插件特別用於這些要求。
但是它不會自動更新。 您將需要執行version:use-latest-snapshots目標。
如果您使用的是持續集成工具(例如Jenkins),則可以通過每夜構建或其他方式使之自動化。
只需查看以下鏈接即可查看版本插件的所有詳細信息。 有很好的記錄。
您為什么不嘗試{env.SomeCoreProcessing_version}呢? 只要確保在開始構建之前就設置/導出SomeCoreProcessing_version變量即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.