
maven打包多环境配置
插件默认生命周期:MyBatis Generator插件在Maven项目中是通过坐标依赖的,如果没有额外配置,默认会自动绑定到Maven的 执行时机不对:在打包过程中, 自动生成影响开发:如果在开发过程中已经手动编写了自定义的DAO类,MyBatis Generator在生成QA类时会将这些自定义代码全部删除,导致开发效率降低。
发布日期:2021-05-15 06:52:41
浏览次数:11
分类:精选文章
本文共 1546 字,大约阅读时间需要 5 分钟。
Maven打包过程中MyBatis Generator插件自动生成问题及解决方案
在项目使用Maven进行打包时,遇到一个令人困扰的问题:MyBatis Generator插件在打包过程中自动生成了QA类,并且将项目中自定义的DAO中的函数全部删除了。经过调研和分析,发现是由于MyBatis Generator插件默认绑定了Maven的生命周期阶段,导致其在打包过程中被触发,从而对代码进行了自动生成。
问题原因:
prepare-resources
阶段的插件执行流程中。prepare-resources
阶段会先处理资源文件,包括触发MyBatis Generator来生成对应的QA类模板。解决方案:
为了避免上述问题,需要对MyBatis Generator插件在Maven项目中的生命周期进行手动配置,使其不自动触发生成功能。
修改POM文件中的插件配置:
在项目的POM文件中找到MyBatis Generator插件的配置部分,添加< executes> </executes>
标签,以手动指定插件的执行阶段。org.mybatis.generator mybatis-generator-maven-plugin ${mybatis.generator.version} ${project.artifactId} prepare-resources generate ...
配置说明:
<phase>prepare-resources</phase>
:指定插件执行的阶段。prepare-resources
是Maven的一个内置阶段,会在process-resources
之前执行,可以确保资源文件准备完成后再触发插件执行。<goals>
:根据需要添加需要执行的目标,通常都是generate
目标来触发代码生成功能。
通过以上配置,可以使得MyBatis Generator插件在适当的时间触发代码生成,而不会对开发者手动编写的自定义代码造成破坏。
注意事项:
- 如果需要多个环境配置(如开发、测试、生产),可以在插件的
<configuration>
标签中添加多个<echo>... [1|2]</echo>
环境信息,插件会根据环境信息自动生成对应的代码。 - 若
prepare-resources
阶段仍然无法满足需求,可以尝试绑定到build
阶段,但需要注意build
阶段的插件执行会影响项目最终输出。
通过以上方法,Maven打包过程中的MyBatis Generator插件问题可以得到有效控制,既能利用插件自动生成功能,又能保护开发者手动编写的代码。
发表评论
最新留言
很好
[***.229.124.182]2025年05月02日 19时57分00秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
超级素数——蓝桥杯
2019-03-12
n的a进制数
2019-03-12
配置jdk的环境变量
2019-03-12
leetcode9.回文数
2019-03-12
leetcode13.罗马数字转整数
2019-03-12
【C++ Primer 第五版】 注释简介
2019-03-12
【C++ Primer 第五版】处理类型
2019-03-12
echo命令的颜色及同行显示控制
2019-03-12
CentOS7利用Systemd添加用户自定义系统服务
2019-03-12
Mycat入门
2019-03-12
懒人HTML5笔记-1
2019-03-12
两台服务器http方式共享yum软件仓库
2019-03-12
进程间同步
2019-03-12
io多路复用___select
2019-03-12
go web服务get pos
2019-03-12
团队背包(team)
2019-03-12
1376:信使(msner)
2019-03-12