mybatis源码编译的一些坑_could not compute the year of the last git commit -程序员宅基地

技术标签: java相关  java  maven  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中加了如下配置:
    在这里插入图片描述
      希望历尽坎坷后你可以编译成功:
    在这里插入图片描述
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013267916/article/details/111870228

智能推荐

计算机应用能力window,计算机应用能力考试教材:Windows XP操作系统(题库版)...-程序员宅基地

文章浏览阅读199次。计算机应用能力考试教材:Windows XP操作系统(题库版)语音编辑锁定讨论上传视频《计算机应用能力考试教材:WindowsXP操作系统(题库版)》是2011年电子工业出版社出版的图书,作者是全国专业技术人员计算机应用能力考试专家委员会。书名计算机应用能力考试教材:Windows XP操作系统(题库版)作者全国专业技术人员计算机应用能力考试专家委员会ISBN97871211364..._计算机应用能力考试windows xp

MONGODB(四)——DBObject与JavaBean转换-程序员宅基地

文章浏览阅读404次。一、DBObject 转为 JavaBean /** * 将实体Bean对象转换成DBObject * */ public static <T> DBObject beanToDBObject(T bean) throws IllegalArgumentException, IllegalA..._mongodb dbobject转javabean

在vscode中引用uni-app扩展组件(uni-ui),不用手动导入_vscode uniapp 自动引入组件easycom-程序员宅基地

文章浏览阅读903次。一、在src下的pages.json文件里面写入easycom规则。三、接下来运行项目就能使用啦,不用手动导入组件。二、npm下载uni-ui。_vscode uniapp 自动引入组件easycom

计算机科学导论第8章答案,第8章计算机科学导论.ppt-程序员宅基地

文章浏览阅读304次。第8章计算机科学导论计算机科学导论 1. 经典压缩工具WinRAR 它采用了独特的多媒体压缩算法和紧固式压缩法,这点更是针对性地提高了其压缩率。 它默认的压缩格式为RAR,该格式压缩率要比ZIP格式高出10%~30%,同时它也支持ZIP、ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR类型压缩文件。 8.5.4 各种实用工具软件 (1) 压缩文件 在“常规”标签项中输..._计算机科学导论第四版第八章答案

解决安装bcrypt失败问题_node-gyp 安装 bcrypt失败-程序员宅基地

文章浏览阅读3.8k次,点赞2次,收藏5次。安装bcrypt的步骤安装依赖环境1. python 2.x2. node-gypnpm install -g node-gyp3. windows-build-toolsnpm install --global --production windows-build-tools安装bcryptnpm install bcrypt安装失败解决方法第一种//1.先全局删除依赖node-gypnpm -g uninstall node-gyp 全局删除 node-_node-gyp 安装 bcrypt失败

美国NCEP/NCAR再分析资料简介_ncep再分析数据-程序员宅基地

文章浏览阅读5.3w次,点赞28次,收藏144次。NCEP/NCAR再分析数据集是由美国气象环境预报中心(NCEP)和美国国家大气研究中心(NCAR)联合制作的,他们采用了当今最先进的全球资料同化系统和完善的数据库,对各种来源(地面、船舶、无线电探空、测风气球、飞机、卫星等)的观测资料进行质量控制和同化处理,获得了一套完整的再分析资料集,它不仅包含的要素多,范围广,而且延伸的时段长,是一个综合的数据集。依其统计时段不同,分以下几个类别。1_ncep再分析数据

随便推点

最全自学黑客技术学习路线,少走弯路_黑客技术自学-程序员宅基地

文章浏览阅读3.5w次,点赞45次,收藏167次。谈起黑客,可能各位都会想到:盗号,其实不尽然;黑客是一群喜爱研究技术的群体,在黑客圈中,一般分为三大圈:娱乐圈 技术圈 职业圈。 娱乐圈:主要是初中生和高中生较多,玩网恋,人气,空间,建站收徒玩赚钱,技术高的也是有的,只是很少见。 技术圈:这个圈子里面的黑客是为了能把黑客技术玩到极致的技术狂人,我最佩服的就是这群人,希望以后自己也能成为这样的人。 职业圈:这里面的人群主要就是玩HC为主了,行走于黑白两道之间,富的一批。 好了,回到正题,本篇文章主要是写新的“黑客技术学习路线”,前面的文章就当Beta_黑客技术自学

cocos2dx - lua ccui.EditBox lua 实现输入换行-程序员宅基地

文章浏览阅读710次。cocos2dx - lua 本身的 ccui.EditBox 是不能换行的需求:一个玩家留言的功能,就是玩家编辑一大段字符串,传送给服务器,服务器上传这段文字到后台管理系统。思路:EditBox 上层UI如果没有拦截点击事件,是可以盖一个图片挡住EditBox ,也不会影响输入框的功能的那么我是不是可以用一个文本节点显示当前输入的内容,实现文字换行功能-- 创建 EeditBoxlocal node = display.newSprite(...)local editeNotice = c_ccui.editbox

【网络协议】NTP(Network Time Protocol)协议详解-程序员宅基地

文章浏览阅读9.8k次,点赞2次,收藏32次。NTP(Network Time Protocol)------网络时间协议-----应用层协议,用来在分布式时间服务器和客户端之间进行时间同步。_ntp

Windows平台openssl和libssh2编译_windows 如何交叉编译openssl 和 libssh2-程序员宅基地

文章浏览阅读1.4k次。一. 编译工具ActivePerl:5.28下载地址https://www.activestate.com/products/activeperl/downloads/Name:2.14.02下载地址https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/CMake:下载地址https://cmake.org/download/Visu..._windows 如何交叉编译openssl 和 libssh2

ViewPager中用findViewById得不到View___findViewById应用注意事项_android findviewbyid 获取不到子视图-程序员宅基地

文章浏览阅读2.5k次。ViewPager的主要功能是使视图左右滑动1.在布局文件中加入组件android.support.v4.view.ViewPagerandroid:id="@+id/heroPager"android:layout_width="fill_parent"android:layout_height="wrap_content"/>和android的其_android findviewbyid 获取不到子视图

云数据库有什么用?有了云服务器为什么还要云数据库?_是否有必须云数据库-程序员宅基地

文章浏览阅读8.2k次,点赞4次,收藏27次。做为中小站长来说,一般购买了云服务器之后,可以自己在云服务器ECS上搭建数据库,并不需要另外购买云数据库。但是当网站的数据量规模已经大到一定程度之后,这种应用与数据库不分离的模式就会显露弊端了,会出现服务器反应迟缓卡顿现象。云数据库结合云服务器使用,布局站库分离的网站,这样的站库分离模式速度更快,也减少了数据安全风险,更降低了运营成本。云数据库RDS提供高可用、高可靠、高安全、可扩展的托管数据库服务,性能等同于商业数据库,但是价格相比ECS自建数据库,仅需约1/3,相比自购服务器搭建数据库,仅需约._是否有必须云数据库