1.配置Eclipse的Maven环境.
-
eclipse4.0以上已经安装了Maven插件,无需额外再次安装Maven插件。除非你的Eclipse版本很低,就需要手动安装。那么怎么看我们的 Eclipse里面有没有安装 Maven插件呢?打开如下菜单:Window--->Preference,如果里面有 Maven选项的话就表示已经安装了 Maven插件;
-
Maven 配置好之后我们还要配置 Eclipse的 Maven环境。
1.1配置Maven安装包.
- 添加 Maven的安装包,打开菜单:Window--->Preference--->Maven--->Installations:

1.2配置Mavern的setting.xml文件.
-
在使用 Maven的时候我们需要知道从哪个下载源下载 jar包的依赖,以及保存 jar包的本地仓库路径,这两个配置我们已经在 Maven安装包的 conf包里面的 setting.xml文件里面配置好了,所以我们需要在 Eclipse里面配置该文件。打开如下菜单:
- Window--->Preference--->Maven--->User Srttings:

- 注意,Maven的所有设置都是根据工作空间走的,如果我们换了工作空间,Maven的设置又会初始化默认的,所以又要重新进行配置。
2.创建Maven项目.
-
【记得先设置工作空间的编码为utf8,jsp页面的编码为utf-8】;
-
从今天开始动态的web项目就成为了历史,以后我们创建的项目都是 Maven项目;
-
打开菜单:New ---> project ---> 搜索 Maven ---> Maven Project:

-
-
注意,在第二步和第三步界面点击"Next"的时候就已经开始下载jar包了,所以这一步一定要联网,如果中途断网了那么又要重新来,Eclipse没有断点续传的功能,IDEA里面有。
-
基于 Maven的web项目我们就创建好了,第一次创建好的 Maven项目都会报错,报错的原因我们可以在 Problems面板查看(没有设置Eclipse主题的话是在Markers面板查看):
-

-
-
这是因为缺少了 servlet 依赖,解决方式:添加 srvlet依赖,或者配置Tomcat。
-
目前基于 Maven的 web项目我们就创建好了,此时项目默认的 JDK版本是1.5,接下来我们要修改,除了JDK的版本之外还有其它的参数也要修改。
-
3.设置web和JDK版本&生成web.xml文件.
-
web版本:目前我们创建的基于 Maven的web项目是 2.3版本,可以在项目目录结构的 "Deployment Descriptor:Archetype...."上面查看 web版本,我们要修改成3.0版本;
-
JDK版本:目前项目的JDK版本是 1.5,我们要改成 1.8;
-
web.xml文件:目前项目没有 web.xml文件,我们需要创建 web.xml文件,而且存放的目录和以前不一样,是:src/main/webapp;
-
操作方式:在项目名上右键 → Properties → Project Facets :

- web.xml文件生成后,目前默认的版本是2.3,意思是搭建项目的骨架版本是2.3。如:

- 我们要web版本改为3.0,复制如下内容替换web.xml文件里面的版本设置内容:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="Java EE: XML Schemas for Java EE Deployment Descriptors"
xsi:schemaLocation="Java EE: XML Schemas for Java EE Deployment Descriptors http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
-
- 效果如下:

-
到此为止 web3.0配置就完成了;
-
然后在项目上右键 → Maven → Update Project 更新项目;
-
在项目目录里面可以查看 web的版本,如:

4.设置java源代码目录.
- 目前项目的目录结构如下:

4.1方式一.
-
在 Java Resources目录里面没有一个存放 java源文件的目录:src/main/java,我们需要手动调出来;
-
方式一:项目名上右键 → Build Path → Configure Build Path,取消 Source面板里面的 "Allow output folders for source floder"前面的 "√"即可。如下所示:

- 效果如下:

4.2方式二.
- 如果方式一设置完没有出来的话,那么尝试方式二:项目名上右键 → Build Path → Configure Build Path,如下所示:

- 然后再重复方式一的操作即可。
4.3方式三.
- 如果方式一和方式二都不可以的话,那么尝试方式三手动创建,项目名上右键 → Build Path → Configure Build Path,如下所示:

5.pom.xml文件配置.
5.1pom.xml文件介绍.
-
pom.xml文件是maven的核心文件,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述如何构建,声明项目依赖;
-
pom.xml文件里面的主要参数介绍:
-
<modelVersion>4.0.0</modelVersion>:pom文件的模型版本;
-
<groupId>com.zking</groupId>:公司域名反写;
-
<artifactId>maven_0</artifactId>:本项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的
-
<packaging>war</packaging>:项目的打包方式,如pom,jar, maven-plugin, ejb, war, ear, rar, par
-
<name>maven_01 Maven Webapp</name>:项目描述名;
-
<prerequisites>...</prerequisites>:定义项目使用的jar包或者插件的版本;
-
<url>http://maven.apache.org</url>:项目主页的URL;
-
<pluginManagement></pluginManagement>:插件管理器;
-
<plugins></plugins>:插件列表;
-
<plugin></plugin>:引入插件的依赖,一对<plugin>标签对应一个插件;
-
<dependencyManagement></dependencyManagement>:依赖管理器;
-
<dependencies>...</dependencies>:依赖列表;
-
<dependency>...</dependency>:引入jar包的依赖,一对<dependency>标签对应一个jar包。
-
5.2添加Maven编译插件-maven-compiler-plugin.
5.2.1Maven编译插件-maven-compiler-plugin的作用.
-
maven 是个管理工具,如果我们不告诉它我们的代码要使用什么样的 jdk 版本编译的话,它就会用 maven-compiler-plugin 默认的 jdk 版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。
-
maven 的默认编译使用的 jdk 版本有时候不通用,使用 maven-compiler-plugin 插件可以指定项目源码的 jdk 版本,编译后的 jdk 版本,以及编码。
5.2.2设置Maven编译器插件版本和编码.
- 添加一对<properties>标签,然后在里面定义Maven JDK插件版本和编码:
<properties>
<project-build-sourceEncoding>UTF-8</project-build-sourceEncoding>
<maven-compiler-source>1.8</maven-compiler-source>
<maven-compiler-target>1.8</maven-compiler-target>
</properties>
5.2.3添加Maven插件依赖.
- 在 <build>标签里面添加一对 <plugins>标签,表示插件列表,所有的插件都放在 <plugins>标签里面,Maven编译插件内容如下:
<build>
<finalName>maven_01</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${maven-compiler-source}</source>
<target>${maven-compiler-target}</target>
<encoding>${project-build-sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>

-
在Maven插件依赖里面引用了在<properties>标签里面定义的Maven插件和jdk版本;
-
好,Maven编译插件我们就配置完了。
-
添加完插件或者依赖如果项目名报红叉叉,查看 Markers面板里面错误原因,如下:

- 解决方式:项目名右键 → Maven → Update Project....更新项目即可。
5.3添加junit和servlet依赖.
5.3.1定义junit和servlet依赖版本.
- 注意在选择依赖版本的时候选择大版本,如:4.13,不要选择小版本,如:4.13.1;
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!-- junit依赖版本 -->
<junit.version>4.13</junit.version>
<!-- servlet依赖版本 -->
<servlet.version>4.0.1</servlet.version>
</properties>
- 依赖名和 version中间用 - 或者 . 连接都可以。
5.3.2添加junit和servlet依赖.
- 先添加一对<dependencies>标签,表示依赖列表,在<dependencies>标签里面添加各种依赖;
<!-- junit依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<!-- servlet依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>
- 在 junit和 servlet依赖里面引用了在<properties>标签里面定义的 junit和 servlet依赖的版本;
5.3.3手动jar下载包.
-
依赖添加好之后 Eclipse不会自动下载依赖的 jar包(貌似Eclipse更换了主题就可以自动下载,IDEA会自动下载),需要手动下载,我们在项目名上右键:
-
-->Run As或Debug As --> Maven install,下载所添加依赖的jar包;
-
-->Maven --> Update Project,更新项目(最好再执行下这个操作);
-
然后项目就不会报错了。
-
5.4查看插件和jar包的安装路径.
- 在项目左侧的目录结构里面可以查看项目里面使用的插件和jar包在本地仓库的安装路径,如:

6.目录结构介绍.
6.1Java Resources目录.
- 手动创建如下目录:

-
src/main/java:存放正式的java源码(*.java文件);
-
src/main/resourcrs:存放配置文件,如:*.xml、*.properties;
-
src/test/java:存放测试代码;
-
Libraries:
-
JRE System Library:运行时环境;
-
Maven Dependencies:Maven依赖所下载的jar包。
-
6.2src目录.
- 手动创建如下目录:

-
java:Java Resources目录里面的java目录所映射的文件;
-
resources:Java Resources目录里面的resources目录所映射的文件;
-
test:Java Resources目录里面的test目录所映射的文件;
-
webapp:web项目相关的文件,相等于之前 WebContent目录;
6.3target目录.
-
target是一个发布目录,项目发布后都会在这里;
-
test-classes目录:对测试源码进行编译;
-
classes目录:对正式需要用到的java代码进行编译(java文件编译成class文件),Eclipse目录里面没有展示,在工作空间的源码里面有;
-
项目名目录:项目全部源码(前端、后台、jar包);
-
项目名.war:将项目名目录打成的war包;
-
7.运行项目.
-
创建的 Maven项目自带的 index.jsp页面是没有 jsp页面的头部内容,所以我们要把它删掉,自己创建一个;
-
配置Tomcat;
-
访问项目....
8.Maven常用操作介绍.
- 项目名上右键-->Run As或Debug As.
8.1Maven install操作.
- Maven install:对项目进行编译,并将项目打包发布到本地工作空间的项目文件的 target目录里,如:

- 执行该命令的时候可以先执行clean操作再执行install操作。
8.2Maven test操作.
- Maven test:对项目进行编译并执行test目录里面的测试代码。
8.3Maven clean操作.
- maven clean:清理 target目录。在进行真正的构建项目之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目的target目录里面的文件。
9.jar包下载中断解决方式.
-
如果在下载 jar包的过程中断网中断下载,那么去本地仓库把下载中断的jar包删除,重新下载;
-
如果找不到对应的 jar包,那么就炸库,把本地仓库的 jar包全部删除,全部重新下载;
-
在 IDEA里面有断点续传功能,不用担心这个问题。