MAVEN的安装与更换中央仓库的源
下载
访问 http://maven.apache.org/download.cgi
选择 apache-maven-3.5.0-bin.zip
下载
安装
将下载的下来的文件解压到 D:\apache-maven-3.5.0
加入环境变量
新建 M2_HOME
,填写 D:\apache-maven-3.5.0
然后修改 Path
,加入 ;%M2_HOME%\bin
修改中央仓库源
将 D:\apache-maven-3.5.0\conf\settings.xml
文件放到 %USER_HOME%\.m2
文件夹中,如果不存在改文件夹就创建一个
修改其中的
元素,加入
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
配置 Eclipse 的 maven
选择 Window - Preferences - Maven - Installations
,添加刚才安装好的 maven,并勾选
然后确保配置文件指向我们刚刚创建的 settings.xml 文件
配置 Eclipse 的 JDK 环境
选择 Window - Preferences - Java - Installed JRES
,然后勾选 JDK,没有就创建一个
打开 Eclipse 的 Problems 视图
在 Eclipse 中创建 Maven 项目时,会遇到一些错误,从 Problems 视图可以看到具体的错误信息,所以就需要打开它
选择 Window - Show View - Other - Problems
maven 项目的创建
创建 maven 项目时会遇到的问题
按照老套路来创建 maven 项目:File - New - Maven Project
,然后选择 maven-archetype-webapp
创建。在 Eclipse 中会出问题,会出现莫名其妙的红叉,而且还不好解决。
所以,我换了一种方式:创建一个普通的 maven 项目,然后再转换成 web 项目。
创建 Maven 项目的步骤
选择 File - New - Maven Project
,勾上 Create a simple project(skip archetype selection)
点击 next,填写 groupId 和 artifactId。Packaging 不要改,依然是 jar
,后面再改
右键项目 - Properties - Project Facets
,点击 Convert to faced form...
勾上这三个选项,注意一下他们的 version
点击 Further configuration available...
填写信息和勾上选项
接在再修改编译文件的目标路径,改成如下的就行
然后修改部署设置,测试文件不需要部署,remove 掉即可
修改 pom.xml
修改 packaging
的方式为 war
;加入 maven-compiler-plugin
插件,并指定 source
和 target
的版本;指定编码为UTF-8
4.0.0
com.okada
mavendemo
0.0.1-SNAPSHOT
war
UTF-8
org.apache.maven.plugins
maven-compiler-plugin
2.3.2
1.8
1.8
保存之后,在 Problems 视图会提示有错误
按照提示,按下 ALT+F5
,刷新一下项目即可消除错误
添加依赖
添加几个依赖:
- junit
- servlet
- jsp
- jstl
junit
junit
4.10
test
javax.servlet
javax.servlet-api
3.0.1
provided
javax.servlet.jsp
jsp-api
2.2
provided
javax.servlet
jstl
1.2
runtime
添加 tomcat7 插件
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
测试项目是否搭建成功
新建一个 Servlet
package com.okada.mavendemo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/HelloWorldServlet")
public class HelloWorldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
然后右键项目,选择 run as - Maven build
在 Goals
中填写 tomcat7:run
就可以看到控制台的信息,然后访问 http://localhost:8080/mavendemo/HelloWorldServlet
,可以看到正常输出就说明项目搭建成功了
使用 IDEA 创建 maven 构建的 web 项目
上面是使用 Eclipse 来创建项目,如果用 IDEA,步骤不同
设置 Maven
先进入 Default settins
,找到 maven
选项,然后选择 maven 的路径和设置 settings.xml
和 仓库的位置
创建项目
如图所示,选择 Maven 标签,选择 JDK,然后选择 archetype 为 web-app
填写 groupId 和 artifactId
选择下一步,确认 maven 的版本
选择下一步,确认项目存放的路径
然后点击ok,现在项目就创建好了,目前的项目文件夹结构如图
还不是一个标准的 maven 的文件夹结构,需要补上缺失的文件夹
补全文件夹
一个标准的 maven 的文件夹结构是这样的
src
├─main
│ ├─java
│ ├─resources
│ └─webapp
└─test
├─java
└─resources
选择 File - Project Settings
,选择 Modules
标签,如图所示创建 src/main/java
文件夹
并将它设置为 sources
同样的操作,创建 src/test/java
,并设置为 Test
,创建 src/test/resources
,并将它设置为 Test resources
确认 Facets 的信息
如图确认 web.xml 和 web resources 的路径是否正确
设置 pom.xml
4.0.0
com.owen
demo
war
1.0-SNAPSHOT
UTF-8
junit
junit
4.10
test
javax.servlet
javax.servlet-api
3.0.1
provided
javax.servlet.jsp
jsp-api
2.2
provided
javax.servlet
jstl
1.2
runtime
org.apache.maven.plugins
maven-compiler-plugin
2.3.2
1.8
1.8
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
/${project.artifactId}
修改 web.xml
按照 servlet 3.0 的规范来修改 web.xml
Archetype Created Web Application
测试是否创建成功
新建一个 servlet
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@WebServlet("/hellMaven")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = dateFormat.format(new Date());
req.setAttribute("currentTime",currentTime);
req.getRequestDispatcher("/WEB-INF/view/hello.jsp").forward(req,resp);
}
}
新建一个 jsp 文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
Hello
当前时间:${currentTime}
运行项目
点击右上角
然后选择 +
创建一个配置
为配置去个名字,同时填写信息,点击ok
右上角就会出现一个刚刚配置好的配置项,点击 run 就能运行项目了
参考
- Maven系列--"maven-compiler-plugin"的使用
- 如何用Maven创建web项目(具体步骤)