我有以下项目结构:
在框架-父母-pom的pom.xml中,我定义了以下插件:
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<branchBase>http://.../svn/REPO/branches/framework</branchBase>
<tagBase>http://.../svn/REPO/tags/releases/framework</tagBase>
<tagNameFormat>release-@{project.version}</tagNameFormat>
<releaseProfiles>release</releaseProfiles>
</configuration>
</plugin>
并遵循SCM:
<scm>
<developerConnection>scm:svn:http://.../svn/REPO/trunk/framework/framework-parent-pom</developerConnection>
</scm>
当我运行以下命令时。。。
mvn release:prepare -DautoVersionSubmodules=true -Darguments="-DskipTests" -Dresume=false
……一切似乎都很顺利。
在本地创建了带有发布版本的JAR,并且POM很好地更新到下一个SNAPSHOT版本。同样在SVN中,乍一看似乎还可以。标签已创建,其中包含所有框架项目。
但是,当查看标记的POM时,我看到它们仍然具有初始快照版本作为版本。这当然会导致执行步骤构建快照版本而不是发布版本。
我做错了什么?
我也面临着同样的问题。在我来的时候,这是因为错误的单片机开发人员连接字符串。
<scm>
<developerConnection>scm:svn:http://.../../trunk</developerConnection>
</scm>
我已经从分支中删除了代码并正在执行发布:准备。
您可以检查developerConnection路径,它应该与代码库路径相同。
我有一个类似的问题。它标记了快照版本,因为它在标记之前没有提交POM更改。
我发现只有使用以下配置选项,它才能工作:
<remoteTagging>false</remoteTagging>
<suppressCommitBeforeTag>false</suppressCommitBeforeTag>
我在maven发布插件问题跟踪器MRELEASE-812中找到了解决方法:
就我而言,变化是:
<plugin>
<artifactId>maven-release-plugin</artifactId>
- <version>2.2.2</version>
+ <version>2.4.1</version>
<configuration>
<releaseProfiles>release</releaseProfiles>
<goals>install animal-sniffer:check deploy site</goals>
</configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.scm</groupId>
+ <artifactId>maven-scm-api</artifactId>
+ <version>1.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.scm</groupId>
+ <artifactId>maven-scm-provider-gitexe</artifactId>
+ <version>1.8.1</version>
+ </dependency>
+ </dependencies>
</plugin>
我的目标是发布一个具有单一依赖项的项目。我有一个nexus存储库,我在其中部署快照和发布版本。 我唯一的依赖性 我的nexus repo中发布了以下候选版本 当要求版本插件解决依赖关系时,它声称没有新的依赖关系可用。所以他认为 但是,如果在我的项目中有版本1.0.0-SNAPSHOT,那么版本1.1.0-RC1将解析为最新版本。 我错过了什么?(我查看了插件源代码,我们有以下片段: 对我来说这辆车
你好,我从我的工作站上释放了一个项目,没有任何问题。我最近尝试从1.0.0-Snapshot发布另一个项目。然而,当它实际发布时,它将1.0.1-快照发布到快照存储库,而不是1.1.0发布到快照存储库。我做了dryrun=真的,看起来很好。事实上,它将我默认为以下版本: 我接受所有的默认值。然而,当我执行“MVN Release:Perform”时,它是这样做的: 我使用的是最新的maven,我手
对于那些等不了 Glide 的下一个稳定版的用户,我们在 Sonatype’s snapshot repo 部署了 Glide 库的快照版本。 在每次 push 到 GitHub 的 master 分支上后,Glide 会通过 travis-ci 构建。如果构建成功,我们将自动部署最新版本的库到 Sonatype 上。 每个集成库都有它自己的快照,与主 Glide 库一样。如果你使用了 Glide
所以我做了mvn释放:清洁和mvn释放:准备。 因此,我的subversion上有一个干净的标签,上面有我的工件的最新版本1.3.3。 现在,我想在本地maven repo(.m2)上安装该版本1.3.3,而不是在远程中央maven repo上。 如何做到这一点? 我是否需要更改设置。xml??? 我是否需要运行mvn release:使用某种本地选项执行???现在,如果我运行mvn releas
版本号 采用三位版本号,分别是主版本号、次版本号、修订版本号。例如 5.1.2。 参见: http://semver.org/lang/zh-CN/。 主版本号:主版本号内的所有版本必须相互兼容;与其它主版本号不一定完全兼容,尽量向下兼容。 次版本号:代表新特性增强。版本号越大特性越丰富。 修订版本号:代表BugFix版本。只做bug修复使用,版本号越大越稳定。 版本维护 最多同时维护两个版本。
我有一个奇怪的问题,我的调试版本工作正常,但是在签署并生成一个应用程序包后,我将其上传到Play商店,该应用程序立即崩溃(我在具有我的应用程序的商店版本的手机上运行LogCat,我看到它与AndroidX ConstraintLayout有关,但无法复制它)。我认为和版本之间有一些区别,所以我开始调试我的发布版本。 当我这样做时,Android Studio无法安装APK,出现以下错误: 安装失败