rylynn
最近因为一些工程的需要,也是老师的建议,开始对maven进行学习,以前没接触maven之前就经常为java包的使用中出现的一些问题感到困惑:
- 第一点是包的版本选择,各个版本之间网上众说纷纭,新老版本的稳定和新技术的取舍问题,太老的版本太难找到的问题,都是需要解决的。
- 第二点是下载的速度问题,很多包都挂在国外的官网下,下载的速度很慢。
- 第三点是包的管理问题,经常会出现Eclipse工程下一大堆的包,不知道那些有用哪些没有,更不知道各个包之间的依赖关系是什么,在linux下开发的时候对包的管理更是一个难题。
- 第四点是工程的管理问题,平时想锻炼自己,用命令行开发程序,但是一是,classpath的配置实在很麻烦,以及系列的java文件的编译都很麻烦,编写ant脚本也不是一个那么方便的过程,maven中自带了一系列的命令,方便编译整个工程,方便测试。
因为java良好的可移植性,maven的开发在linux下和在windows下没有过大的区别,因此,就在windows下的开发作为案例,为大家介绍maven安装和配置过程:
接下来分步介绍一下在windows下maven的安装过程:
0.配置java环境
maven基于java的环境,配置java不是文章的重点,大家可以在网上查找相关资料。
1.maven的下载和安装
进入maven官网,windows下选择发行版的.zip文件下载
下载到本地解压后:
maven的目录结构如下:
2.配置环境变量
添加环境变量MAVEN_HOME为/your/path/to/maven/apache-maven-3.3.9
path中添加maven的bin文件夹所在位置,记得不要忘记前后的分号
完成后,点击确定,在命令行进行测试,输入mvn -version,得到这样的界面,即为配置成功
3.配置setting.xml
安装好maven之后,要想比较好地使用,目前其实还是存在很多问题的。
– 一般情况下,maven会自动将所下载的包放在~/.m2/repository/文件夹下,我们一般会自己定义一个文件夹,让maven的依赖包装在你所想要放在文件夹下,便于以后自己的维护和管理。
– maven自带的仓库是国外的maven官方的一个仓库http://repo1.maven.org/maven2/,一般不翻速度非常慢。
因此,我们需要对setting.xml进行配置,达到我们上面的两个目的
– 本地包位置的配置
打开your/path/to/maven/apache-maven-3.3.9/conf/setting.xml
加上这么一行代码,就设置好了本地仓库的位置
<localRepository>
f:/your path /to your/maven repository
</localRepository>
这里记得写成绝对路径,你所下载的包就会放在你填写的目录下了
– 仓库镜像的配置
在setting.xml中找到<mirrors>…………</mirrors>
的位置。
在<mirrors>…………</mirrors>
中间加入你想要的仓库的标签。
这里推荐几个国内网速比较快,资源比较全的仓库。
— 1.阿里云的maven仓库
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
— 2.开源中国的仓库
<mirror>
<id>nexus-osc</id>
<mirrorOf>central</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
<mirror>
<id>nexus-osc-thirdparty</id>
<mirrorOf>thirdparty</mirrorOf>
<name>Nexus osc thirdparty</name>
<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</mirror>
这两个国内的仓库,目前对我来说已经基本够用了。
保存好后,用mvn help:system 命令下载一些帮助文档的文件,也顺便测试测试刚刚配置的仓库镜像的速度。
今天maven的安装和一些简单的配置就介绍到这里,下一节我将会介绍一下如何用maven创建web项目以及如何对web项目进行编译。
相关阅读
maven中scope=compile 和 provided区别
问题再现:上次这边朋友问我一个问题,就是他们在pom.xml中的dependency中,看到有一些是<scope>provided</scope>的情况,比如如下:<depen
maven-source-plugin提供项目自动将源码打包并发布的功能,在需要发布源码项目的pom.xml文件中添加如下代码即可: <!-- Source atta
解决Maven创建web工程web.xml版本过低的问题,妈妈再也
解决Maven创建web工程web.xml版本过低的问题,妈妈再也不用的担心我的学习了一次性解决Maven项目web.xml版本过低的问题Tom: Peter,你
一.使用eclipse自带的maven插件 首先,现在下载Eclipse Mars之后的版本,基本上都自带了maven插件,无需自己再安装maven. 有几个注意
maven跳过单元测试-maven.test.skip和skipTests的区别
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。-Dmaven.test.skip=true,不执行测试用