【发布时间】:2014-07-11 14:30:46
【问题描述】:
我创建了一个原型,它对我的一个项目具有托管依赖关系。
每当使用我的原型创建新项目时,是否有可能告诉原型始终使用该依赖项的最新发布版本?使用RELEASE 对我不起作用,因为我不想在每次构建项目时都更改版本。
<?xml version="1.0" encoding="utf-8"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.mycompany.someproject</groupId>
<artifactId>someDependency</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.mycompany.myproject</groupId>
<artifactId>myArtifact</artifactId>
<version>LATEST</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
我阅读了this 的问题,但使用 maven-versions-plugin 的建议解决方案似乎不适合,原因有两个。首先,我想在创建项目时更改版本,其次我不想更改所有依赖项的版本,而只更改一个。
编辑:上面是来自原型资源的 pom.xml(更新),下面是来自我的原型项目本身的 pom.xml。
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.mycompany.maven.archetype.be</groupId>
<artifactId>maven-archetype-be-_moduleList</artifactId>
<version>1.3-SNAPSHOT</version>
<relativePath>../maven-archetype-be</relativePath>
</parent>
<artifactId>archetype-be-api</artifactId>
<packaging>maven-archetype</packaging>
<dependencies />
<name>archetype-be-api</name>
</project>
EDIT2:
RELEASE 和 LATEST 在托管依赖项中似乎根本不起作用。任何人都可以确认或禁用该声明吗?
【问题讨论】:
-
即使您只想为一个依赖项执行此操作,您也可能需要重新考虑它,因为由于您可能不知道的更改,它可能会导致一些严重的问题。但是,如果您想这样做,您可以查看此链接,它很好地解释了您的问题。 stackoverflow.com/questions/30571/…
标签: maven maven-archetype