首先确认一下自己的环境变量
OS版本:windows7
JDK版本:JDK 1.8.0_161
maven版本:Maven 3.5.3
eclipse版本: Oxygen.3a Release (4.7.3a),介绍一下为什么要使用新版本的eclipse,因为新版本的eclipse已经结合了maven,可以直接构建maven工程。
配置Maven
maven的下载地址:http://maven.apache.org/download.cgi
详细的配置方式这里就不逐一介绍了,看一下maven的版本吧
这里值得注意的一点就是,因为maven的服务器在国外,可能国内访问会慢一些,所以这里讲settings.xml的mirrors节点进行更换,更换成阿里云的,这样子在下载jar包的时候会快很多。
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
eclipse整合Maven
设置eclipse自带maven整合工具,在Preferences中找到Maven节点,观察User Settings项的设置是否正确。
这里有个点需要注意一下,settings.xml的存在路径一般会有两个。
- 安装的地方:$M2_HOME/conf/settings.xml
- 用户的目录:${user.home}/.m2/settings.xml
然后点击Installations节点,添加maven runtime。
使用Maven构建SSM项目
1、选择Maven Project
2、点击Next,选择默认工作空间位置
3、选择web类型
4、填写GroupID、ArtifactID
5、在项目上右键,查看项目信息
默认的Dynamic Web Module为2.3,使用Tomcat 8.5,需要修改为3.1
修改方法如下:
1、找到Maven工程所在目录下org.eclipse.wst.common.project.facet.core.xml
<installed facet="jst.web" version="2.3"/>
替换为
<installed facet="jst.web" version="3.1"/>
2、然后Maven工程下的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>
3、pom.xml文件中修改build节点,添加如下内容
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
4、修改之后,在项目上右键,找到Maven属性下的Update Project,点击更新一下项目
5、点击OK后更新maven项目,再观察项目属性,Module已经变为3.1
修改pom.xml,下载SSM框架所需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</groupId>
<artifactId>SSM</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>ssm 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>
<!-- 单元测试相关包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>ssm</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
完善项目信息
配置过程中可能遇到的问题
问题一:
解决办法:
①在eclipse中设置Server为Tomcat
②在工程上右键,查看工程属性,找到Java Build Path,添加Server Runtime为Tomcat
问题二:
看到这个问题我第一时间想到的是可能因为网络问题,maven在下载jar包的时候,没有百分之百下载成功,于是去.m2路径下查看。如图:
的确是因为这个问题。
解决办法:将这个文件删除掉。回到eclipse,更新下整个工程,整个问题就可以解决了。