我有一个maven多模块项目,称为重用,结构如下所示:
root
|__pom.xml: group=com.test.project, id=reuse, version=1.0.0
|__api-module
|__pom.xml: parent={group=com.test.project, id=reuse, version=1.0.0}, id=reuse-api
|__service-module
|__pom.xml: parent={group=com.test.project, id=reuse, version=1.0.0}, id=reuse-srv
我有另一个项目" app"它使用重用依赖关系,具有不同的范围:
root
|__pom.xml: <dependency>
<groupId>com.test.project</groupId>
<artifactId>reuse-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</depedency>
<dependency>
<groupId>com.test.project</groupId>
<artifactId>reuse-srv</artifactId>
<version>1.0.0</version>
<scope>runtime</scope>
</depedency>
的问题:
如果我对重复使用服务模块进行了一些更改,是否可以将api版本保持为1.0.0,但是将服务版本设置为1.0.0.1?
项目&#34; app&#34;是否有办法声明部分wildcar依赖重用服务,如下所示:
<dependency>
<groupId>com.test.project</groupId>
<artifactId>reuse-srv</artifactId>
<version>1.0.0.*</version>
<scope>runtime</scope>
</depedency>
我只是想避免重新编译项目&#34; app&#34;,只是因为重用了服务模块。 如果重用api发生变化,那么我会将重用api和服务版本更改为1.0.1,当然还有项目&#34; app&#34;必须适应和重新编译。
这可能吗?谢谢!
答案 0 :(得分:1)
两种可能性:
1.0.0-SNAPSHOT
将始终解析为以该名称部署的最新版本。[1.0.0,1.0.1)
。这与*
具有相同的含义,但现在不是推荐的做法。