文档章节

Spring+SpringMVC+MyBatis+easyUI整合基础篇(五)讲一下maven

zhenfeng13
 zhenfeng13
发布于 2017/05/11 17:22
字数 1487
阅读 15
收藏 1

github地址,点这里

项目效展示,点这里。账号:admin 密码:123456

下一篇文章开始,所有的项目源码都是与maven整合后的代码了,所以这一篇讲一讲maven。

1、简单介绍
我们看一下github上一些开源项目的目录结构,下图中有mybatis、netty、dubbo这些比较有影响的项目,在每个项目中都可以看到一个pom.xml文件,这就是maven的配置文件。
那么maven是什么呢?
百度百科中是这么说的,“Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。”当然,继续看下去,还是会有很多专业名词,如果你是刚入门的话,可以暂时不去看这些,有时间可以慢慢研究。其实Maven是一个项目管理和整合的工具,并且为开发者提供了一套完整的构建生命周期框架。
 
2、使用感受
以前经常碰到的情况就是,往往一个跳槽来的新同事会问,“用过maven吗?怎么不用maven?”等问题,也是有些尴尬的搭不上话,偶尔在网上看代码的时候也会看到maven项目,但是不会用。那时候也就是因为刚入行,人比较懒吧,也不去看不去学。其实很多人一开始对于maven的印象,认为maven就是一个下载jar包的插件而已,我一开始也是一样,并不是太在意,上手了一段时间后,才体会到maven不仅仅是一个管理jar包依赖的工具,按我的理解,maven有茫茫多的好处,比如:方便管理各种库文件依赖、标准化构建流程、提升开发者效率、在持续集成中扮演重要作用。
对于开发效率和部署效率的提升真的是使我印象深刻,流程的标准化也可以减少很多人为因素可能带来的错误,当然,如果还没有上手过maven项目的来说,我的建议最好是赶紧将maven整合进项目中,以上的种种好处你也会慢慢体验到,而且网上教程资源那么多,完全不用担心无法入门,想要进阶的话也可以看看《Maven实战》这本书。
在这篇文章中我也只是简单讲一下自己对于maven的使用心得,总结的有些简单,其实是想告诉看到此文的你,像maven、gradle这些可以明显提升开发效率的工具真的要用到项目中,一个高效率的工作状态应该是我们每一个技术人的追求。
 
3、安装与整合
大致总结了以下步骤:1、下载官方文件  2、解压并配置maven的环境变量 3、执行maven -v 验证  4、与开发软件整合
 
windows下maven的安装, 点这里
linux下maven的安装, 点这里
 
安装后就是与eclipse或者idea等开发软件整合的事情啦。
 
eclipse与maven整合, 点这里
idea与maven整合, 点这里
 
这些都是需要自己花点时间去研究的东西,而且网上教程也多,就直接放了感觉不错的教程的链接地址。
 
4、maven仓库
由于默认的仓库地址是国外网址,会对下载速度有一定的影响,下载jar包时,如果没有将仓库设置为国内链接的话,可能会导致下载慢的情况,这种情况也很好解决,设置国内镜像或者国内仓库,当然也可以自己搭建私服,有时间的话会单独写一个搭建私服的文章,想了解的也可以自己先搜一下相关教程。
推荐一个搜索jar包的maven依赖时常用地址: http://mvnrepository.com/
 
几个国内可用的maven repository连接:
 
5、setting.xml文件
settings.xml文件是用来设置maven参数的配置文件。并且,settings.xml是maven的全局配置文件。而pom.xml文件是所在项目的局部配置。
settings.xml中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。
关于setting.xml介绍可以 看这里
 
下面是一个settings.xml的示例文件:
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
 4           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5           xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 6 
 7     <!-- 本地仓库:本地存放jar包的文件夹位置 -->
 8     <localRepository>/xx/xx</localRepository>
 9 
10     <pluginGroups>
11     </pluginGroups>
12 
13     <proxies>
14     </proxies>
15 
16     <servers>
17     </servers>
18 
19     <!--加速镜像,也可以考虑阿里云的maven镜像 -->
20     <mirrors>
21         <mirror>
22             <id>UK</id>
23             <mirrorOf>central</mirrorOf>
24             <url>http://uk.maven.org/maven2</url>
25         </mirror>
26         <mirror>
27             <id>net-cn</id>
28             <mirrorOf>central</mirrorOf>
29             <url>http://maven.net.cn/content/groups/public/</url>
30         </mirror>
31         <mirror>
32             <id>osc</id>
33             <mirrorOf>central</mirrorOf>
34             <url>http://maven.oschina.net/content/groups/public/</url>
35         </mirror>
36         <mirror>
37             <id>osc_thirdparty</id>
38             <mirrorOf>thirdparty</mirrorOf>
39             <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
40         </mirror>
41     </mirrors>
42 
43     <profiles>
44         <profile>
45             <id>osc</id>
46             <activation>
47                 <!--当前使用的远程仓库为osc-->
48                 <activeByDefault>true</activeByDefault>
49             </activation>
50             <repositories>
51                 <repository>
52                     <id>osc</id>
53                     <!--当前使用的远程仓库地址 -->
54                     <url>http://maven.oschina.net/content/groups/public/</url>
55                 </repository>
56                 <repository>
57                     <id>osc_thirdparty</id>
58                     <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
59                 </repository>
60             </repositories>
61             <pluginRepositories>
62                 <pluginRepository>
63                     <id>osc</id>
64                     <url>http://maven.oschina.net/content/groups/public/</url>
65                 </pluginRepository>
66             </pluginRepositories>
67         </profile>
68         <profile>
69             <id>net-cn</id>
70             <repositories>
71                 <repository>
72                     <id>net-cn</id>
73                     <url>http://maven.net.cn/content/groups/public/</url>
74                 </repository>
75             </repositories>
76             <pluginRepositories>
77                 <pluginRepository>
78                     <id>net-cn</id>
79                     <url>http://maven.net.cn/content/groups/public/</url>
80                 </pluginRepository>
81             </pluginRepositories>
82         </profile>
83     </profiles>
84 
85 
86 </settings>
View Code
怕说多了啰嗦,就到这里吧,等下把代码整合一下,放到github上啦。

© 著作权归作者所有

共有 人打赏支持
zhenfeng13
粉丝 2
博文 32
码字总数 42647
作品 0
杭州
程序员
私信 提问
ZHENFENGSHISAN/perfect-ssm

Quick Start 项目简介 ssm系列 ssm-demo:Spring+SpringMVC+Mybatis+easyUI整合 perfect-ssm:RESTful API+redis缓存 ssm-cluster:前后端分离+集群部署 ssm-dubbo:dubbo服务化 ssm-micro-se......

ZHENFENGSHISAN
2017/09/18
0
0
(五) 整合spring cloud云服务架构 - 云架构代码结构构建

上一篇介绍了《整合spring cloud云服务架构 - 企业分布式微服务云架构图》,本篇我们根据架构图进行代码的构建。根据微服务化设计思想,结合spring cloud一些优秀的项目,如服务发现、治理、...

明理萝
2018/11/22
0
0
Java B2B2C多用户商城 springcloud架构-云架构代码结构构建(五)

上一篇介绍了《整合spring cloud云服务架构 - 企业分布式微服务云架构图》,本篇我们根据架构图进行代码的构建。根据微服务化设计思想,结合spring cloud一些优秀的项目,如服务发现、治理、...

itcloud
2018/12/12
0
0
Spring+mybatis的一个简单例子

一、eclipse新建java项目取名SpringTest 二、导入sping,mybatis,jdbc(这里用postgresql)包到构建路径 三、在psql中建库、建表的脚本。 四、创建java类 student表对应的pojo对象 映射文件cn/...

wangxuwei
2016/01/09
744
0
(五) 构建spring cloud云服务架构 - HongHu云架构代码结构构建

上一篇介绍了《构建spring cloud云服务架构 - HongHu企业分布式微服务云架构图》,本篇我们根据架构图进行代码的构建。根据微服务化设计思想,结合spring cloud一些优秀的项目,如服务发现、...

SpringCloud关注者
2018/09/28
302
3

没有更多内容

加载失败,请刷新页面

加载更多

js算法总结

数列求和 等差数列求和 function sum(a0,d,n){//a0->首项,d->公差,n->项数//(首项+末项)*项数/2return (a1+(a1+d*n))*n/2;} 等比数列求和 function sum(a0,q,n){//a0->首项,q->公......

祖达
34分钟前
1
0
小白?转型?毕业生?外行学习快速入行大数据开发指南

这篇文章中,本文将针对三种不同的、想要进入数据科学领域的人群,给出自己的经验,帮助他们迅速有效入行。 虽然没有适合每个人的万能解决方案,但这三类建议值得想转行的你一看。 第1类:新...

董黎明
42分钟前
1
0
好文 | MySQL 索引B+树原理,以及建索引的几大原则

MySQL事实上使用不同的存储引擎也是有很大区别的,下面猿友们可以了解一下。 一、存储引擎的比较 注:上面提到的B树索引并没有指出是B-Tree和B+Tree索引,但是B-树和B+树的定义是有区别的。 ...

Java爬坑之路
45分钟前
1
0
mysql group by 和 Order By 执行顺序

1.在写统计的时候,我们会用到统计首单,这样里面设计到排序。写子查询的方式当然可以实现, 但是我们有时候,需要创建视图,视图不支持带子查询的。 加了排序后会返回,排序后的哪个第一条数...

kuchawyz
50分钟前
2
0
Spring Boot 2.X 如何添加拦截器?

最近使用SpringBoot2.X搭建了一个项目,大部分接口都需要做登录校验,所以打算使用注解+拦截器来实现,在此记录下实现过程。 一、实现原理 1. 自定义一个注解@NeedLogin,如果接口需要进行登...

花漾年华
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部