我查看了之前有关该主题的问题,看起来人们比我现在的位置领先一步。 我目前正在尝试将maven发布插件用于我的多模块项目。我从头开始(更确切地说,我检索了一些旧项目以放入一个新的多模块项目。)
我有一个POM父母,我定义为:
<groupId>com.somestuff</groupId>
<artifactId>stuff</artifactId>
<version>10.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name> stuff </name>
我的子模块使用:
继承父模块<parent>
<groupId>com.somestuff</groupId>
<artifactId>stuff</artifactId>
<version>10.0.0-SNAPSHOT</version>
</parent>
因为它是一个新项目,我将模块之间的依赖关系指定为快照。例如,如果模块A依赖于模块B,我将向A的POM添加部分:
<dependencies>
<dependency>
<groupId>com.somestuff</groupId>
<artifactId>divarmiclient</artifactId>
<version>10.0.0-SNAPSHOT </version>
</dependency>
</dependencies>
结果是当我尝试执行“mvn release:prepare”时,Maven会大声说存在快照依赖项。但由于它是一个全新的项目,并且10之前的版本不存在,我不知道如何默认模块的版本值。 我的问题是,我该如何默认模块值?如何从快照角度使我的多模块项目可接受?
答案 0 :(得分:5)
为了澄清,你说你的结构是:
theparent
pom.xml
A/
pom.xml
B/
pom.xml
以下假设都适用:
然后解决方案如下:
<dependency>
<groupId>com.somestuff</groupId>
<artifactId>B</artifactId>
<version>${project.version}</version>
</dependency>