您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

改造我们公司10年的系统Maven,好香! {源码分享}

  • 时间:2022-09-08 01:24 编辑: 来源: 阅读:284
  • 扫一扫,手机访问
摘要:改造我们公司10年的系统Maven,好香! {源码分享}
公司有几个老项目,应该是10年前开发的。一个是JSP+Servlet,一个是SSH框架,打包用Ant。它有多老了?我想在座的很多人都没听说过。 为了满足持续集成和部署的需求,有必要将这些旧项目全部转化为Maven管理。下面就来做吧。 快速创建一个Maven项目详细说明如何快速创建一个Maven项目可以通过Maven Archetype来创建,Maven Archetype是Maven提供的多种工程模板,通过它可以生成不同的Maven项目结构。 Maven提供的原型列表如下:http://maven.apache.org/archetypes/index.html, I改造了公司10年的系统Maven,真香。这里我们选择模板maven-architect-quick start进行快速建立。因为它提供了一个标准的项目结构,所以以后可以基于这个基本的项目结构进行扩展。 project |-POM . XML `-src | `-main | `-Java | `-$ package | `-App.java `-test `-Java `-$ package `-apptest . Java生成Maven项目1) Maven通过Maven命令提供命令快速创建Maven项目:MVN原型:generate-darchetypegroupid = org . Apache . Maven . archetypes-darchetypeartifac命令tid = Maven-Archetype-quick start-DarchetypeVersion = 1.4指定Maven原型:Maven-Archetype 我们将把公司10年的系统改造成Maven,在向真运行期间会提醒您输入该项目的Naveen坐标信息,直到建立完成。 基础部分这里不写了,需要完整的Maven教程关注。微信官方账号Java技术栈回复“mvn”即可在后端获取。 2) Maven项目也可以通过IDE和IDE快速创建。现在Java IDEs都支持Maven或者自带Maven插件的。这里以Intellij IDEA为例进行创作。 选择maven-architect-quick start:我将公司10年的系统转化为Maven,向真输入项目坐标:我将公司10年的系统转化为Maven,向真选择Maven和仓库设置信息:我将公司10年的系统转化为Maven,向真等待项目完成。如下图:我把公司10年的系统改造成了Maven,重构了Maven项目。Maven项目配置项目生成后,我们可以将原系统的文件移动到新的Maven项目中,因为生成的项目结构相对简单。maven提供的maven-archetype-webapp模板也不符合要求:我把公司10年的系统改造成了Maven。真的很贴心,我们这个项目的性质是后端系统,涉及方方面面。所以需要完善其他资源目录的创建:-src-main-Java-resources-filters-web app-test-Java-resources。这是一个比较标准的Maven Web项目结构,我把它做成一个基本的脚手架,集成了各种现成的插件和函数。剩下的项目可以以后直接应用到Maven上。 已经上传到GitHub:Java Stacks/Maven-Demo-Project。主目录结构的细节:我转换了Maven,公司10年的系统。在向真的所有目录被创建之后,我移动了所有的原始系统,除了(*。jar)文件放到相应的目录中。这里没有困难。 配置Maven环境信息: 我的想法是先转换少量核心框架依赖,再转换少量相对独立的公共工具包,最后转换少量不熟悉的依赖。 引入Maven依赖项时,看它的所有依赖项,然后从lib目录中逐步删除,直到全部删除,即转换完成。 在寻找对应的依赖关系时,如果中心仓库找不到,其他远程仓库可以找到,则在公司私有库中添加该包所在远程仓库的代理配置。 如果中心仓或者其他远程仓找不到,比如第三方SDK包,就上传到公司私库。 怎么上传到私库?点击这里阅读。更多maven教程会在Java技术栈,微信官方账号回复Maven进行阅读。 基于JAR包寻找Maven依赖时,可能会有多个同名的依赖,你不知道该参考哪个。这时候你需要看一下原来JAR包中的包名,根据包名大概就知道坐标信息了。 转移:在依赖转换过程中,如果一个依赖依赖于其他依赖,可以直接引用父依赖。例如,在旧项目中,有三个依赖项:poi、poi-ooxm和poi-ooxml-schemas。我改造了我们公司10年的系统Maven,很好吃。但是在POI依赖系统中,poi-ooxml包需要依赖其他两个包,所以我们只需要引入poi-ooxml。依赖性& gt& ltgroupId & gtorg . Apache . poi & lt;/groupId & gt;& ltartifactId & gtpoi-oo XML & lt;/artifact id & gt;& lt版本& gt4 . 1 . 2 & lt;/version & gt;& lt/dependency & gt;这样就引入了这个包需要依赖的其余包。这是Maven管理依赖关系的优势,会避免多包少包的情况,也可以尽量避免依赖冲突。 依赖范围:在旧项目中,所有jar包都在web-inf/lib目录中,比如Servlet和JUnit。这些包在生产包完成后仍然在目录中,没有生命周期管理。 您可以在Maven中控制它们的生命周期: 处理冲突:当传递的依赖版本不匹配,或者同一个包的不同版本引起冲突时,学会使用排除:我把公司10年的系统改造成Maven,真的很甜还是强制指定包版本: 整个转换过程比较顺利,就是少量JAR包冲突导致的问题需要在编译和运行时处理。按照上述方法,直到编译和启动正常。 以后可以舒服的用Maven了。 写了半天,给你一个无私的参考。希望你能有所收获,心情愉快。欢迎点赞转发~


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部