最近学习了maven,写一篇博客记录自己的学习过程和成果,这篇博客是结合自己学习的成果和借鉴他人的经验所得。在此感谢那些给我提供帮助的人。
一、maven简介
1.什么是maven
maven翻译过来时“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目的管理工具,使用maven对java项目进行构建、依赖管理。现在越来越多的项目都是使用maven。
项目构建:是一个项目从编写源码到编译、测试、运行、打包、部署 、运行的过程。
2.maven是干什么的
它是一个Apache的开源项目,主要服务于基于Java平台的项目构建、依赖管理和项目信息管理,为了不重复造轮子。
例如:两个项目A B,项目A需要依赖一些jar包,项目B也需要依赖这些jar包,那么此时如果都把jar包引入到项目中,就是在重复造轮子,我们应该把这些所有的jar包放到一个地方,需要用的时候过去取即可。
3.使用maven的项目和传统项目的区别
传统的项目工程要管理依赖的jar包完全是靠人力来完成的,从网上下载jar包,到添加到项目工程中去,一个使用的框架的java项目,可能需要管理几十个jar包,那么每一个jar包都需要去一个个导入,并且还不能保证导入的jar包之间是不是完全不会出现冲突等问题。管理jar包的难度可想而知。分析一下不足:
第一点:没有对jar包进行统一管理,容易导致 版本冲突 。
第二点:从 网上下载jar包不方便。
第三点:jar包是完全复制到工程中的导致工程过大。
maven项目管理所依赖的jar包不需要手动向工程中添加jar包,我们只需要在maven的配置文件中添加jar包的坐标,让程序自动的帮我下载。使用 maven项目的好处:
第一点:通过pom.xml文件对jar包进行管理,我们可以统一 管理jar包 的版本号,这样可以有效的避免版本冲突。
第二点:maven有许多的仓库,里面存放了非常充足的jar包,基本我们能够用到的他都有,这里面最充足的就是中央仓库了,据说是维护了两亿多个jar包。这样程序就会自动到这里来下载jar包。
其他好处:maven项目可以跨平台,可以一步构建项目等。
二、maven安装教程
1.maven下载
maven下载地址:http://maven.apache.org/release-notes-all.html 选择我们需要的maven包,下载到本地磁盘上。
环境:java环境(jdk),我使用的是jdk8.
2.maven安装配置环境
将下载好的 maven包解压到一个盘符,这里可以更具自己需要选择解压的地址,我这里就D盘下了,D:\maven\apache-maven-3.5.0 即这个路径,解压好后maven就算是安装好了,就是这么简单。
接下来需要配置这个环境变量,就和配置jdk是一样的,方便我运行这个maven项目
第一步:新建环境变量 MAVEN-HOME,赋值为我们maven项目的安装目录,也就是我们解压的那个目录我这里是 D:\maven\apache-maven-3.5.0 然后点击确认保存。
第二步:编辑环境变量Path,在原先的基础上加上 %MAVEN_HOME%\bin\
第三步:检查是否配置成功,这里使用DOS命令模式来检查是否安装成功:在命令模式输入 mvn -v 命令,如果能够成功打印出版本信息俺么我们的maven就完全安装成功了。
3.在eclipse上配置 maven
3.1 首先我们安装 maven(参考上面)
3.2 maven配置本地仓库的路径,首先找到maven安装目录,找到conf文件下的settings.xml这个文件,之后我们打开这个 配置文件在配置文件中添加<localRepository>D:\maven\repository</localRepository>添加本地仓库路径的配置信息,然后保存就配置成功了。
3.3 eclipse创建maven项目,完成项目创建后,进行配置:在 window》 preferences 》 maven 》installations 》 add 》
Directory选择maven文件配置的根路径:
3.4 在Window 》preferences 》 maven 》usersettings 目录下配置我们配置文件的资源路径,配置文件是在maven目录下 conf文件下的settings.xml文件,这里面配置了maven的基本的环境。配置完成后点击确认,maven和eclipse就整合好了。
3.5 会遇到的一些问题,jdk版本修改。
方法一: 在pom.xml中build标签内添加一下配置信息
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
方法二:在maven的安装目录下conf目录下,找到settings.xml文件在里面添加如下代码
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
4.在IDEA上配置maven
4.1 安装maven(参考上面)
4.2 配置maven本地仓库地址,参考上面(在eclipse中 配置maven)
4.3 打开Intellij IDEA,选择File-Settings
4.4 还可以进行其他的配置
三、maven基本使用
1.maven仓库介绍
maven仓库的作用:
maven的工作需要从仓库下载一些jar包,仓库可以分为本地仓库,远程仓库,和中央仓库,每一个maven项目都可单独从 其中的项目下载jar包,当本地没有时,就从远程下载,并包jar包保存到本地。如果远程仓库也没有就会从中央仓库下载下来 保 存到远程仓库,或者直接从中央仓库下载到本地仓库都是可以的。
1.maven项目目录结构介绍
1.1 maven基本目录结构如下:
2.如何创建一个简单的maven项目
2.1 现在的javaWeb项目中,绝大多数都是采用的maven构建的项目,我们这里就以现在非常流行的IDEA这个工具来说一 说,如何用maven创建一个简单的javaWeb项目。
使用步骤如下:我们点击新创建一个项目,点击“Create New Project”.
接下来我们在左侧的选项中选择Maven,软件开发工具包(SDK),选择自己配置的jdk即可。勾选“Create form archetype”(表示使用 maven来构建项目),我们这里选择org.apache.maven.archetype:maven-archetype-webapp,选项中有两 个 webapp,不要选错。完成后我们点击next。
接下来的面板中,“groupId”,"artifactId","version"分别表示,公司名,项目名,以及maven使用的版本号,这里我们选择快照 版本SNAPSHOT,填写完成后 点击下一步。
这里我们可以选择本地仓库文字,以及使用的配置文件的地址,然后直接下一步。
接下来填写自己项目的名称,和项目的地址。填写完成后next,接着我们就等待maven项目的创建,这里创建需要等待一小会,不是一下就直接创建好了,你可以清晰的感受到目录结构的变化。
这样一个简单的maven项目就创建完毕了,但是这样还不能使用,我们还需要根据自己的需求添加目录,我们这里只是完成了 一下不而已,javaWeb项目我们还需要配置服务器,配置各种源码目录,资源目录等等。最后我们才能运行项目。最后项目结构如下。
3.在IDEA中用Maven创建完整的Javaweb项目
3.1 创建项目(参考上面创建一个简单的maven项目)
3.2 配置服务器,这里以Tomcat为例。
第一步我们在菜单栏上点击run,然后在弹出的下拉框中我们选择Edit Configurations,这时会弹出Run/Debug Configurations 这个窗口。在这个弹出框中我们点击左上角的小加号。
第二步点击小加号后,在弹出的下拉框中,我们找到Tomcat,如果没有就点击33 items more irrelevant这一个选项继续 寻找。找到之后我们点击,选择Local这个选项,表示配置本地的服务器。
第三步我们在弹出的配置页面配置Tomcat,按照下图配置,配置完成后点击确认。这里关于配置Tomcat服务器,我是已经在本地安装好了的,如果没有安装请先安装。
3.3 完善javaweb项目的目录结构
我们创建的maven项目的目录结构是不完整的,这里我们需要自己手动添加,具体添加的方法可以直接在目录上添加,也可以在 Project Structure中配置。这里我们在菜单栏中点击File 》 Project Structure ,进入Project Structure这个弹出框,选择Modules,在Sources这一栏显示的就是我们项目的目录结构,我们选中目录右键配置我们需要的目录结构。配置按成后按照下图选取配置属性。
3.4 我们把项目加载进Tomcat服务器中。在配置服务器的页面中 ,我们选中Deployment这个选项,点击右边的绿色小加号,选择artifact.选择后缀名为exploded这个war包,这个包我们的项目编译打包后的文件,并且呢这个版本还是专用来放入服务器运行的。
注意:一般才开始在IDEA中创建项目时,可能会有这种想法,就是我们在Eclipse中用maven创建项目目录非常的全,根本不需要自己去创建,只需要更具eclipse创建的项目写代码就可以了,不像maven还要自己创建项目结构。 其实我们这样想,eclipse的目录结构是死的,我们只能按照他的目录来写代码,而在IDEA中目录结构可以灵活的创建,开发人员完全可以按照自己的意愿来构建项目,随意改变目录结构。这样在实际开发中是更加适用的。