mybatis源码编译的一些坑

mybatis源码编译

无坑情形

  讲道理,如果mybatis和mybatis-parent的版本号一致的话,大概率是不会遇到坑的。编译可以在IDEA中进行,也可以直接cmd编译。
  下载并解压mybatis之后,在解压目录下直接mvn clean install会报错:
在这里插入图片描述
没找到mybatis-parent。看下mybatis的pom.xml发现要依赖mybatis-parent:
在这里插入图片描述
于是下载mybatis-parent,然后解压后在解压目录下同样mvn install。这一步可能可能会报错,java.lang.RuntimeException: Could not compute the year of the last git commit for file:
在这里插入图片描述
这是因为源码项目使用了 license-maven-plugin 插件,会给源文件添加 license 声明,声明里面有一个表达式 ${license.git.copyrightYears} 无法被替换, 从而报错 因为源码是从tag里面下载的zip压缩包,不含 .git 配置信息,所以插件拿不到正确的值,无法完成替换 解决办法就是在源码目录下创建一个新的git仓库即可:git init。现在就可以“build success”了。
  在最后编译mybatis前,打开mybatis的pom文件,修改这两个地方:
在这里插入图片描述
然后mvn clean install,静待“build success”吧。

有坑情形

  但是不排除某些人的自残倾向,非要用不同版本的mybatis和mybatis-parent,这样的话可能会遇到以下这些坑:

  • “cannot resolve plugins xxx”的问题:
    在这里插入图片描述导致这个问题的原因是没有指定插件的版本号,在pom文件中为相应插件指定version即可,例如:
    在这里插入图片描述
    或者干脆注释掉:
    在这里插入图片描述
  • “Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:3.2.0 ”的报错,则参考这篇文章或者这篇文章
  • "Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M2"的报错,报错显示从central仓库下载插件的时候connection refused了,没办法,干脆直接跳过enforce约束来编译
mvn install -Denforcer.skip=true
  • “Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test”的问题,参考这里,我的在surefire这个插件下的configuration中加了如下配置:
    在这里插入图片描述
      希望历尽坎坷后你可以编译成功:
    在这里插入图片描述
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值