微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如果父 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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?