Maven多模块服务/api项目范围问题
我有一个maven多模块项目,叫做重用,结构如下:Maven多模块服务/api项目范围问题,maven,Maven,我有一个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=co
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
<dependency>
<groupId>com.test.project</groupId>
<artifactId>reuse-srv</artifactId>
<version>1.0.0.*</version>
<scope>runtime</scope>
</depedency>
我有另一个使用重复使用依赖项的项目应用程序,具有不同的范围:
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
当project app声明部分通配符依赖项以重用服务时,是否有一种方法,如下所示:
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
<dependency>
<groupId>com.test.project</groupId>
<artifactId>reuse-srv</artifactId>
<version>1.0.0.*</version>
<scope>runtime</scope>
</depedency>
我只是想避免重新编译project app,因为重用服务模块已更改。
如果重用api发生变化,那么我会将重用api和服务版本更改为1.0.1,当然project app必须进行调整和重新编译
这可能吗?谢谢大家! 有两种可能性:
使用快照版本进行开发。1.0.0-SNAPSHOT将始终解析为以该名称部署的最新版本。
使用版本范围,如[1.0.0,1.0.1]。这与您的*具有相同的含义,但现在不推荐使用。
谢谢。你对我的用例有推荐的做法吗?你的建议是什么?再次感谢。