0.Maven简介

 

三种仓库:

核心配置文件:

生命周期:

 

 

 

 

1.下载Maven与本地仓库(要求JDK1.7及以上)

2.解压

3.配置环境变量(2个,前提是java已经配置好)

 

4.检查环境变量是否配置好

5.Maven  集成到 Eclipse

修改eclipse默认的maven版本

 

 

修改本地仓库的路径(apache-maven-3.3.9\conf\settings.xml)

 

 

将配置文件设为刚才修改过的

 

6.新建一Maven项目

 

建议:勾选上Create a simple project(skip archetype selection),

跳过原型选项跳过骨架选项

 

 

 

其中:

  (1Group Id:当前 Maven 项目隶属的实际项目

  

  (2Artifact Id:当前 Maven 项目(也称 模块

  

(3Version:当前 Maven 项目的版本号

  

  1SNAPSHOT:快照版本,即 测试版本

  

  2RELEASE:发布版本,即 正式版本

  

  

(4Packaging:当前 Maven 项目的打包方式,有三种:jar、war、pom,打包方式决定了当前Maven 项目的性质

  1jar:Java 项目

  2war:Web 项目

  3pom:父项目(用于 Maven 项目的继承)

  

  

(5Name:当前 Maven 项目的显示名,常用于 Maven 生成的文档

(6Description:当前 Maven 项目的描述,常用于 Maven 生成的文档

 

其中有两个错误:

(1)没有部署描述文件web.xml,解决方法:

选择项目名,右键->Java EE Tools->Generate Deployment

Descriptor Stub,将自动在webapp 目录下生成 WEB-INF

目录 和 web.xml 文件

 

(2)Maven 默认的JDK 版本是 1.5,需要将其修改为本机的 JDK 版本

 

 

法一:在pom.xml 的 project 标签中添加如下内容:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

  

法二:在settings.xml 的 profiles 标签中添加如下内容(建议):

  

<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>

 

 

 

  

  

添加完成后,还要做操作:选择项目名,右键->Maven->Update Project…

 

7.手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件(添上之后上面的红线就没了)

 

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">
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>



</web-app>

 

 

 

8.处理编译版本

在pom.xml中添加如下代码

<build>
        <!-- 配置了很多插件 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>  
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

 

 9.创建servlet

发现会报错,缺少servlet-api包

 

在pom中添加如下代码:

 

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>
        
    </dependencies>

 

 

手动更新一下项目

 

 

10.项目结构

11.启动项目测试

 

 

 

有时候端口被占,暂且通过netstat -ano查找进程id,然后taskkill /f /pid xxxx杀死进程。

 

 

C:\Users\XX>netstat -ano|grep 8080
C:\Users\XX>taskkill -pid 413984 -f

 

补充:maven内置变量

${basedir} 项目根目录
${project.build.directory} 构建目录,缺省为target
${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
${project.packaging} 打包类型,缺省为jar
${project.xxx} 当前pom文件的任意节点的内容

 

【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】