Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven多模块服务/api项目范围问题_Maven - Fatal编程技术网

Maven多模块服务/api项目范围问题

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

我有一个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
          <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]。这与您的*具有相同的含义,但现在不推荐使用。
谢谢。你对我的用例有推荐的做法吗?你的建议是什么?再次感谢。