svn-revision-number-maven-plugin:1.13:revision failed: String index out of range: -1

新建mvn项目,上传svn后报错Execution default of goal com.google.code.maven-svn-revision-number-plugin:svn-revision-number-maven-plugin:1.13:revision failed: String index out of range: -1解决

报错前操作

1.新建了mvn项目,编译,打包正常,准备上传svn(已引入插件svn-revision-number-maven-plugin)
在这里插入图片描述
2.登录svn服务器,使用svnadmin create 创建仓库,修改相关配置文件,重启svn服务
3.客户端checkout版本到本地,比如C:\demo。将src及pom文件拷贝到demo目录下,上传前编译报错
在这里插入图片描述

解决

加-e再次编译
mvn compile -e

在这里插入图片描述
寻找源码位置
在这里插入图片描述
不出意外,应该是这一行的substring出错,角标越界
分析:1.repositoryRoot这个是什么东西呢?用其他编译正常项目demo2编译一下,resource下文件
version.properties

repository = ${svn.repository}
path = ${svn.path}
revision = ${svn.revision}
mixedRevisions = ${svn.mixedRevisions}
committedRevision = ${svn.committedRevision}
committedDate = ${svn.committedDate}
status = ${svn.status}
specialStatus = ${svn.specialStatus}

编译这个正常项目demo2,得到repository 是项目仓库的根目录,path 是demo2的svn地址。
怀疑:是不是demo的仓库和url是一样的,所以,在截取的时候+1就会角标越界。而这个正常项目demo2的位置是在仓库根目录C:\demo2\sss\demo2下,
尝试:在本地demo的根目下再新建一层目录demo,如C:\demo\demo,再把src和pom放入,编译,成功。
初步结论:项目不要直接放在仓库跟目录下,仓库根目录下再新建一个文件夹放项目,搞不懂这个插件为什么在截取url的时候为什么要再加1,以后有时间再研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值