簡體   English   中英

Maven-在依賴項中使用版本

[英]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),則可以通過每夜構建或其他方式使之自動化。

只需查看以下鏈接即可查看版本插件的所有詳細信息。 有很好的記錄。

http://mojo.codehaus.org/versions-maven-plugin/

您為什么不嘗試{env.SomeCoreProcessing_version}呢? 只要確保在開始構建之前就設置/導出SomeCoreProcessing_version變量即可。

暫無
暫無

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

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