Eclipse配置Maven环境
一.什么是maven?
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期 (Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段 (phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项 目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到 到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了 像编译和创建一个 JAR 文件这样的工作。 一个jar包,会有两种下载的方式。一种是直接下载压缩包,一种是提供maven下载路径。Maven最方便的就是能帮我们 下载jar包。告别传统手动导包的方式。
二.maven仓库
maven中有中央仓库,本地仓库,私服三个概念 :
1.中央仓库是maven给你提供的所有jar包的下载地址.网址:http://mvnrepository.com/
2.本地仓库是你在中央仓库里下载好的jar包所保存的文件夹。
3.私服相当于一个大型的本地仓库,一般在规模庞大的公司里才会有自己的私服。为什么会有私服呢? 有些公司在上班 过程中某些电脑是不允许连接互联网的,只能使用自己公司的局域网,那么,这个时候你要使用maven的话就不能使用 http的地址,这个时候就产生了私服。私服通过maven的索引使用公司的ip地址来使用到maven中的jar包。中国拥有最 厉害的私服公司就是马云的阿里巴巴。但是阿里巴巴的私服会对外开放。
三.Eclipse配置maven
maven官网下载插件:http://maven.apache.org/
1.解压你在maven下载到的压缩包,可以把它和jdk放在一起。
2.安装maven在电脑上 鼠标右键点击计算机>点击属性>点击高级系统设置之后会弹出
然后再点击环境变量会弹出:
这个时候你就可以点击新建配置MAVEN_HOME,注意MAVEN_HOME的变量值是你maven的压缩包的解压地址。
配置完MAVEN_HOME之后记得还需要修改path
在path的变量值最后加上%MAVEN_HOME%\bin;但是在配置MAVEN_HOME时,你得保证你的环境变量里面存在 JAVA_HOME(配置jdk)。没有配置JAVA_HOME测试时会报错。
做完这些后,你就可以测试你的maven有没有安装成 功。打开cmd,输入mvn -v如果你出现的是:
那么恭喜你,你安装成功了。但是这只是成功的第一步,你还需要在你的Eclipse上安装maven。
3.在Eclipse上安装maven 打开Eclipse点击window>prferences之后会弹出
这个时候你就把maven装在你的Eclipse中了,但是我们知道,maven是一个方便我们管理jar包的工具,我们需要用到 的jar包都是从maven的中央仓库里下载的,但是我们不需要每次都需要去本地仓库里下载,当我们下载过一次之后就 可以在我们的本地仓库中导入jar包,那么,怎么连接本地仓库呢?
4.连接本地仓库
第一步:你首先需要找到你的maven解压文件夹,然后打开conf子文件夹,然后编辑settings.xml
第二步:回到eclipse中点击window再点击preferences
配置完以上步骤之后,恭喜你,可以在maven环境下建立project了。
创建基于Maven的SSM工程
选择建立Maven Project 选择File -> New -> Other,在New窗口中选择 Maven -> Maven Project;点击next,如下图
选择项目路径,如下图,然后next
选择项目类型 选择Artifact Id为maven-archetype-webapp那一项,如下图
输入Group ID和 Artifact ID,以及Package,具体Group ID和 Artifact ID代表什么,可以去阅读《Maven 实战》,Group ID相当于一个组织,而Artifact ID相当于这个组织下的一个具体项目,Packege的话会根据你的Group ID和Artifact ID生成一个默认的名称,就用默认的就可以,如下图
点finish之后,项目结构如下图
工程src目录报红叉,检查导包,主要是JDK和Tomcat,maven默认的jdk是1.5,大家可以将其改为适合自己的版本,选中工程,鼠标右键 properties> Java Build Path:
更改JDK版本、添加tomcat支持
选择合适的tomcat版本
经过操作之后的工程目录如下
若目录结构和上面的有差别,那么将perspective改成Java模式就好了。上面的目录结构离标准的maven web结构还有一点差别,少了一个文件夹src/test/resources,我们手动创建下,右键项目根目录点击New -> Source Folder,建出这个文件夹,如下图:
Finish之后,项目结构图如下所示:
修改工程支持的web版本,如果tomcat是8.0以上,考虑将默认的2.3改成3.1。具体操作步骤:
第一步:进入当前工程【ssm4】的根目录
第二步:点击.settings进入
第三步:修改org.eclipse.wst.common.project.facet.core.xml文件
修改完毕,保存,回到eclipse,选中工程,鼠标右键 properties>Maven>Update Project
第四步:检查是否修改成功:
选中工程名,鼠标右键 properties> Project Facets,操作如下:
第五步:更改web.xml文件中的版本
web.xml中,更改如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1" metadata-complete="true">
</web-app>
设置部署程序集(Web Deployment Assembly)
上面步骤设置完成后,点击OK,再右键项目,选择properties --》Deployment Assembly,如下图
此处列表是,部署项目时,文件发布的路径。
(1)我们删除test的两项,因为test是测试使用,并不需要部署。
(2)设置将Maven的jar包发布到lib下。
Add -> JavaBuild Path Entries -> Maven Dependencies -> Finish
设置完成效果图
构建框架
在pom.xml中添加所需要的jar包,内容如下图
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yueqian</groupId>
<artifactId>ssm2</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>ssm2 Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<!-- Spring版本号 -->
<spring.version>4.3.8.RELEASE</spring.version>
</properties>
<dependencies>
<!-- Spring相关包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- AOP相关包 -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.0</version>
</dependency>
<!-- MyBatis相关包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
<!-- MySQL相关包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.20</version>
</dependency>
<!-- Spring集成MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.3</version>
</dependency>
<!-- JSP标准标签库 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- 日志相关包 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<!-- 上传包下载 -->
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- 单元测试相关包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>
</dependencies>
<build>
<finalName>ssm2</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source><!-- 源代码使用的JDK版本 -->
<target>1.8</target><!-- 需要生成的目标class文件的编译版本 -->
</configuration>
</plugin>
</plugins>
</build>
</project>
如果依赖不知道怎么写,比如groupId、artifactId、version不知道填什么,那么直接上https://mvnrepository.com/搜,对应着填写就可以了,如下图
保存pom.xml,maven就会帮我们下载我们配置的所有jar包了,jar包依赖的jar包也会自动下载,是不是很方便!当然,这个下载可能需要较长的时间,不要急,当eclipse右下角的百分比进度没有了,就下载好了。当然如果你觉得更新太慢,也可以去阿里的镜像仓库去下载,这个会比较快一点。你可以回到maven安装目录下找到settings.xml文件进行相应的修改:
第一步:找到settings.xml
第二步:修改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>
jar包下载完成后,项目结构图如下
剩下的就是我们SSM框架的正常配置
好了,关于在Eclipse中通过Maven配置SSM到这里就结束了。