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
文件夹中,如果不存在改文件夹就创建一个
修改其中的 <mirrors>
元素,加入
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
配置 Eclipse 的 maven
选择 Window - Preferences - Maven - Installations
,添加刚才安装好的 maven,并勾选
然后确保配置文件指向我们刚刚创建的 settings.xml 文件
maven_setting.png配置 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
ProjectFacets.png点击 Further configuration available...
填写信息和勾上选项
webModule.png接在再修改编译文件的目标路径,改成如下的就行
target.png然后修改部署设置,测试文件不需要部署,remove 掉即可
deploy.png修改 pom.xml
修改 packaging
的方式为 war
;加入 maven-compiler-plugin
插件,并指定 source
和 target
的版本;指定编码为UTF-8
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.okada</groupId>
<artifactId>mavendemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
保存之后,在 Problems 视图会提示有错误
problems.png按照提示,按下 ALT+F5
,刷新一下项目即可消除错误
添加依赖
添加几个依赖:
- junit
- servlet
- jsp
- jstl
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
</dependencies>
添加 tomcat7 插件
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
测试项目是否搭建成功
新建一个 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
New_Project.png填写 groupId 和 artifactId
groupIdArtifactId.png选择下一步,确认 maven 的版本
maven.png选择下一步,确认项目存放的路径
dir.png然后点击ok,现在项目就创建好了,目前的项目文件夹结构如图
project_structure.png还不是一个标准的 maven 的文件夹结构,需要补上缺失的文件夹
补全文件夹
一个标准的 maven 的文件夹结构是这样的
src
├─main
│ ├─java
│ ├─resources
│ └─webapp
└─test
├─java
└─resources
选择 File - Project Settings
,选择 Modules
标签,如图所示创建 src/main/java
文件夹
并将它设置为 sources
java_sources.png同样的操作,创建 src/test/java
,并设置为 Test
,创建 src/test/resources
,并将它设置为 Test resources
确认 Facets 的信息
如图确认 web.xml 和 web resources 的路径是否正确
Facets.png设置 pom.xml
<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.owen</groupId>
<artifactId>demo</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/${project.artifactId}</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
修改 web.xml
按照 servlet 3.0 的规范来修改 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Archetype Created Web Application</display-name>
</web-app>
测试是否创建成功
新建一个 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" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>Hello</h1>
<h2>当前时间:${currentTime}</h2>
</body>
</html>
运行项目
点击右上角
edit_cfg.png然后选择 +
创建一个配置
为配置去个名字,同时填写信息,点击ok
commond.png右上角就会出现一个刚刚配置好的配置项,点击 run 就能运行项目了
run.png
网友评论