如果父 pom 使用范围,maven-release 插件将无法创建发布

问题描述

我有一个单模块项目,我可以使用 maven-release-plugin

创建版本
16:13:52  [INFO] Run maven with 'release:prepare release:perform -B -U -e -Dresume=false'
...
16:13:56  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - 
16:13:56  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - --- maven-release-plugin:2.5.3:prepare (default-cli) @ my-srv ---
16:13:57  [main] INFO org.apache.maven.shared.release.phase.ScmCheckModificationsPhase - Verifying that there are no local modifications...
16:13:57  [main] INFO org.apache.maven.shared.release.phase.ScmCheckModificationsPhase -   ignoring changes on: **\pom.xml.next,**\release.properties,**\pom.xml.branch,**\pom.xml.tag,**\pom.xml.backup,**\pom.xml.releaseBackup
16:13:57  [main] INFO org.apache.maven.scm.manager.plexus.DefaultScmManager - Executing: cmd.exe /X /C "git rev-parse --show-prefix"
16:13:57  [main] INFO org.apache.maven.scm.manager.plexus.DefaultScmManager - Working directory: d:\jenkins\tools\ci-home\workspace\my-srv_master
16:13:57  [main] INFO org.apache.maven.scm.manager.plexus.DefaultScmManager - Executing: cmd.exe /X /C "git status --porcelain ."
16:13:57  [main] INFO org.apache.maven.scm.manager.plexus.DefaultScmManager - Working directory: d:\jenkins\tools\ci-home\workspace\my-srv_master
16:13:57  [Thread-4] WARNING org.apache.maven.scm.manager.plexus.DefaultScmManager - Ignoring unrecognized line: ?? effective-pom.xml
16:13:57  [main] INFO org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase - Checking dependencies and plugins for snapshots ...
16:13:57  [main] INFO org.apache.maven.shared.release.phase.RewritePomsForReleasePhase - Transforming 'WS-Proxy'...
16:13:57  [main] INFO org.apache.maven.shared.release.phase.GenerateReleasePomsPhase - Not generating release POMs
16:13:57  [main] INFO org.apache.maven.shared.release.phase.RunPrepareGoalsPhase - Executing goals 'clean verify'...
16:13:59  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] Scanning for projects...
16:13:59  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] 
16:13:59  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] --------------< com.mycompany.services:my-srv >---------------
16:13:59  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] Building WS-Proxy 1.8.13
16:13:59  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] --------------------------------[ pom ]---------------------------------
16:14:00  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] 
16:14:00  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ my-srv ---
16:14:00  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] Deleting D:\jenkins\tools\ci-home\workspace\my-srv_master\target
16:14:00  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] 
16:14:00  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] --- buildnumber-maven-plugin:1.4:create (create-buildnumber) @ my-srv ---
16:14:00  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] Change the default 'git' provider implementation to 'jgit'.
16:14:01  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] Storing buildNumber: 31a2d2bb9470473ed8cb36d0493377ad6e8a5103 at timestamp: 1623680040903
16:14:01  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] Storing buildScmBranch: master
16:14:01  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] 
16:14:01  [Thread-6] INFO org.apache.maven.shared.release.exec.InvokerMavenExecutor - [INFO] --- buildnumber-maven-plugin:1.4:create-timestamp (create-timestamp) @ my-srv ---
...

我为父 pom 使用固定版本

...
    <parent>
        <groupId>com.mycompany.services</groupId>
        <artifactId>parent</artifactId>
        <version>0.5.0</version>
    </parent>

    <artifactId>my-srv</artifactId>
    <packaging>pom</packaging>
    <version>1.8.14-SNAPSHOT</version>
...

不,我们实际上想为父级使用版本范围

...
    <parent>
        <groupId>com.mycompany.services</groupId>
        <artifactId>parent</artifactId>
        <version>[0.5.0,0.7.0)</version>
    </parent>

    <artifactId>my-srv</artifactId>
    <packaging>pom</packaging>
    <version>1.8.12-SNAPSHOT</version>
...

但是,这现在失败了

10:58:54  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - 
10:58:54  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - --- maven-release-plugin:2.5.3:prepare (default-cli) @ my-srv ---
10:58:54  [main] INFO org.apache.maven.shared.release.phase.ScmCheckModificationsPhase - Verifying that there are no local modifications...
10:58:54  [main] INFO org.apache.maven.shared.release.phase.ScmCheckModificationsPhase -   ignoring changes on: **\pom.xml.next,**\pom.xml.releaseBackup
10:58:54  [main] INFO org.apache.maven.scm.manager.plexus.DefaultScmManager - Executing: cmd.exe /X /C "git rev-parse --show-prefix"
10:58:54  [main] INFO org.apache.maven.scm.manager.plexus.DefaultScmManager - Working directory: d:\jenkins\tools\ci-home\workspace\my-srv_master
10:58:55  [main] INFO org.apache.maven.scm.manager.plexus.DefaultScmManager - Executing: cmd.exe /X /C "git status --porcelain ."
10:58:55  [main] INFO org.apache.maven.scm.manager.plexus.DefaultScmManager - Working directory: d:\jenkins\tools\ci-home\workspace\my-srv_master
10:58:55  [Thread-4] WARNING org.apache.maven.scm.manager.plexus.DefaultScmManager - Ignoring unrecognized line: ?? effective-pom.xml
10:58:55  [main] INFO org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase - Checking dependencies and plugins for snapshots ...
10:58:55  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - ------------------------------------------------------------------------
10:58:55  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - BUILD FAILURE
10:58:55  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - ------------------------------------------------------------------------
10:58:55  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - Total time: 2.863 s
10:58:55  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - Finished at: 2021-06-21T10:58:55+02:00
10:58:55  [main] INFO org.apache.maven.cli.event.ExecutionEventLogger - ------------------------------------------------------------------------
10:58:55  [main] ERROR org.apache.maven.cli.MavenCli - Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project my-srv: Can't release project due to non released dependencies :
10:58:55  [main] ERROR org.apache.maven.cli.MavenCli -     com.mycompany.services:parent:pom:0.6.1-SNAPSHOT
10:58:55  [main] ERROR org.apache.maven.cli.MavenCli - in project 'WS-Proxy' (com.mycompany.services:my-srv:pom:1.8.12-SNAPSHOT)
10:58:55  [main] ERROR org.apache.maven.cli.MavenCli - -> [Help 1]
10:58:55  org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project my-srv: Can't release project due to non released dependencies :
10:58:55      com.mycompany.services:parent:pom:0.6.1-SNAPSHOT
10:58:55  in project 'WS-Proxy' (com.mycompany.services:my-srv:pom:1.8.12-SNAPSHOT)

我知道依赖项 com.mycompany.services:parent:pom:0.6.1-SNAPSHOTSNAPSHOT 但为什么。根据{{​​3}}

依赖范围的解析不应解析为快照(开发版本),除非将其作为显式边界包含在内。

此外,还有一个可用的发布版本 com.mycompany.services:parent:pom:0.6.1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...