1. 创建 Webapp 项目

    本文将介绍如何使用 Maven 创建、构建、部署和运行 Web 应用程序。

    1) 创建 Web 应用

        使用 Maven 的 maven-archetype-webapp 模板,在 D:\Workshop\maven 目录下创建一个 Webapp 项目。

        打开 cmd 命令行窗口,进入 D:\Workshop\maven 目录,执行如下命令:

            D:\Workshop\maven>mvn archetype:generate -DgroupId=com.example -DartifactId=MavenDemo05 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

        参数说明:

            -DgroupId: 项目组 ID,通常为组织名或公司网址的反写。
            -DartifactId: 项目名。
            -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-webapp 用于快速创建一个简单的 Webapp 项目。
            -DinteractiveMode: 是否使用交互模式。

        命令运行后,D:\Workshop\maven\ 目录下自动生成了 MavenDemo05 项目。

    2) 项目目录结构

        MavenDemo05
            |- src
            |   |- main
            |       |- resources
            |       |- webapp
            |             |- WEB-INF
            |             |    |- web.xml
            |             |- index.jsp
            |
            |- pom.xml

        (1) 目录及文件说明

            MavenDemo05:项目名,包含 src 文件夹和 pom.xml;
            src/main/webapp:用于存放项目的 web.xml、jsp 等文件;
            src/main/resources:用于存放项目资源文件;
            target:项目输出位置,用于存放编译后的文件,编译运行时自动创建;
            pom.xml:Maven 项目核心配置文件。

        (2) web.xml 代码

复制代码

1             <!DOCTYPE web-app PUBLIC2             "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"3             "http://java.sun.com/dtd/web-app_2_3.dtd" >4 5             <web-app>6                 <display-name>Archetype Created Web Application</display-name>7             </web-app>

复制代码

           
            注:命令行创建的 Webapp 默认使用 JSP 1.2 规范,EL (Expression Language) 是关闭的,必须手动在 JSP 文件里加入 <%@page isELIgnored="false" %> 才能使用 EL 表达式。

            在 <web-app> 引入 JSP 2.x 相关的命名空间,就不需要在每个 JSP 文件里手动加入 isELIgnored="false" 语句,因为 JSP 2.x 下 EL 默认是打开的。

复制代码

1                 <web-app id="WebApp_ID" version="2.4"2                       xmlns="http://java.sun.com/xml/ns/j2ee"3                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"4                       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee5                                     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">6                     7                     ...8 9                 </web-app>

复制代码

            也可以在 <web-app> 引入 Servlet/JSP 3.x 的命名空间,格式如下:     

复制代码

1              <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"2                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3                         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"4                         version="3.1">5 6               ...7 8            </web-app>

复制代码

        (3) index.jsp 代码

1             <html>2             <body>3             <h2>Hello World!</h2>4             </body>5             </html>

        (4) pom.xml 代码

复制代码

 1             <project xmlns="http://maven.apache.org/POM/4.0.0" 2                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3                     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 4                                         http://maven.apache.org/maven-v4_0_0.xsd"> 5  6                 <modelVersion>4.0.0</modelVersion> 7                 <groupId>com.example</groupId> 8                 <artifactId>MavenDemo05</artifactId> 9                 <packaging>war</packaging>10                 <version>1.0-SNAPSHOT</version>11                 <name>MavenDemo05 Maven Webapp</name>12                 <url>http://maven.apache.org</url>13                 <dependencies>14                     <dependency>15                         <groupId>junit</groupId>16                         <artifactId>junit</artifactId>17                         <version>3.8.1</version>18                         <scope>test</scope>19                     </dependency>20                 </dependencies>21                 <build>22                     <finalName>MavenDemo05</finalName>23                 </build>24             </project>

复制代码

    3) 打包 Web 应用

        Web 应用创建完成后,接下来我们将该应用进行打包成 war 文件,以便将其部署到服务器中。

        打开 cmd 命令行窗口,进入 D:\Workshop\maven\MavenDemo05 目录,执行如下命令:

            D:\Workshop\maven\MavenDemo05>mvn clean package

        打包完成后,进入 D:\Workshop\maven\MavenDemo05\target 目录,可以看到生成的 MavenDemo05.war 文件。

    4) 部署 Web 应用

        将 MavenDemo05.war 文件复制到 Tomcat 服务器的 webapp 目录中,重新启动 Tomcat 服务器。

        Tomcat 启动完成后,在浏览器地址栏输入“http://localhost:8080/MavenDemo05/index.jsp”,显示结果:
        
            Hello World!

2. 在 IntelliJ IDEA 里使用 Maven

    IntelliJ IDEA (简称 IDEA)是当前最流行的 Java IDE(集成开发环境)之一,也是业界公认最好用的 Java 开发工具之一。IDEA 支持 Maven 的全部功能,通过它我们可以很轻松地实现创建 Maven 项目、导入 Maven 项目、向已有项目添加 Maven 支持等功能。

    IntelliJ IDEA Community Edition 是 IDEA 的一个开源版本。 支持 Java、XML和Groovy代码,支持  Ant 和 Maven 等构建工具,集成 JUnit 和 TestNG 测试框架,集成 CVS、Subversion 和 git 版本控制系统。

    IDEA 默认自带了一个 Maven,这种内嵌的版本和独立版本的 Maven 相比,就是版本上容易滞后,一般在本机上安装独立版本。假设独立 Maven 的配置信息如下:

        Maven home path: C:\Applications\java\apache-maven-3.8.1
        User settings file: C:\Applications\java\apache-maven-3.8.1\conf\settings.xml
        Local repository: C:\Applications\java\maven-repository       
   
    本文以 IntelliJ IDEA Community Edition 2020.1 的 Windows 版为例,介绍如何在 IDEA 中创建 Maven 项目、导入 Maven 项目、修改 Maven 配置。Maven 安装配置可以参考 “Maven基础知识(1)- Maven 简介、Maven 安装配置、创建 Quickstart 项目”。

    Jetbrains IDEA:https://www.jetbrains.com/idea/
    Apache Maven: https://maven.apache.org/
    Apache Maven GitHub: https://github.com/apache/maven

 

    1) IDEA 创建 Maven 项目

        (1) New Project 入口     
        
            入口1:在 IDEA 欢迎页面左侧选择 Project ,然后在右侧选择 New Project。
            入口2:或者在 IDEA 工作区上方的菜单栏中选择 File ,在下拉菜单中中选中 New,然后选择 Project。

        (2) Archetype 选择

            在 Archetype 选择界面上,可以不勾选 Create from archetype 选项,直接点击下方的 Next 按钮,来直接创建一个空 Maven 项目。
            
            如果勾选 Create from archetype 选项,需要了解所选的 Archetype(模型),选择后点击下方的 Next 按钮,进入 Project 参数界面。

            注:Maven 官方的 Archetype 是 org.apache.maven.archetype,开发命令行程序可以选择 maven-archetype-quickstart,开发 web 程序可以选择 maven-archetype-webapp。

        (3) Project 参数

            在 Project 参数界面上,展开 Artifact Coordinates,各参数的含义如下:

                Name:输入项目名称
                Location:输入项目存储位置
                GroupId:输入公司或组织的域名或包名,比如 com.example
                ArtifactId: 输入 Project name
                Version: 输入 Project 版本号

        (4) Maven 版本选择
        
            在 Maven 版本选择界面上,可以为 Project 可以选不同于 Maven 版本,上文配置的 Maven 3.8.1 已在 Maven Home 列表中,选择 Maven 3.8.1。

                Maven home path: C:\Applications\java\apache-maven-3.8.1
                User settings file: C:\Applications\java\apache-maven-3.8.1\conf\settings.xml (选上 Override)
                Local repository: C:\Applications\java\maven-repository (选上 Override)

            一般情况下 Properties 列表不用修改,点击 Finish 按钮,返回 IDEA 工作区,会发现 Maven 项目创建完成。

    2) IDEA 导入 Maven 项目

        (1) 在欢迎页面上 Open or Import 图标,或者在 IDEA 工作区上方的菜单栏中选择 File ,在下拉菜单选中 Open。
        (2) 选择需要导入的 Maven 项目,例如 MavenDemo01。

    3) 修改 Maven 配置

        新建 Maven 项目时,可以选择 Maven 版本,导入的项目和再次打开的项目,可以按下面步骤调整 Maven 配置。

        菜单 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven

            Maven home path: C:\Applications\java\apache-maven-3.8.1
            User settings file: C:\Applications\java\apache-maven-3.8.1\conf\settings.xml
            Local repository: C:\Applications\java\maven-repository

   -> OK

    4) IDEA 执行 Maven 命令

        (1) 使用 Run Anything 窗口

            在 Maven 工具窗口的工具栏上,点击 “Run Anything” 按钮,或在 IntelliJ IDEA 中连续两次按下 Ctrl 键,即可打开 Run Anything 窗口。例如,运行 mvn clean。

            如果一个项目包含多个模块,则需要在 Run Anything 窗口右上角从 “Project” 列表中切换到所需的模块,然后再执行的 Maven 目标执行。

        (2) 使用 Maven 工具窗口的上下文菜单

            菜单 View -> Tool Windows -> Maven -> MavenDemo01 -> Lifecycle -> clean|…|deploy

            这里 clean 相当于运行 mvn clean。
            
        (3) 通过 Run Configuration 执行 Maven 目标

            Run -> Edit configurations -> Click "+" -> Select "Maven"

                Command line: clean package
                Name: MavenDemo01 [clean,package]

            -> OK

            Run -> Run MavenDemo01 [clean,package]

            相当于运行 mvn clean package。

3. 在 Eclipse 里使用 Maven

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。

    Eclipse 提供了很多实用的插件,例如 FindBugs、Spring IDE、m2eclipse 等。m2eclipse 是一款将 Maven 集成到 Eclipse 中的插件,通过它用户可以很方便地在 Eclipse 中执行 Maven 命令、创建 Maven 项目、修改 POM 等。

    现在 Eclipse (for Java) 基本上都默认安装了 m2eclipse ,不需要自行安装该插件。而且大部分 Eclipse (for Java) 默认自带了一个 Maven,这种内嵌的版本和独立版本的 Maven 相比,就是版本上容易滞后,一般在本机上安装独立版本。假设独立 Maven 的配置信息如下:

        Maven home path: C:\Applications\java\apache-maven-3.8.1
        User settings file: C:\Applications\java\apache-maven-3.8.1\conf\settings.xml
        Local repository: C:\Applications\java\maven-repository    

    本文以 Eclipse IDE for Enterprise Java Developers 2021.09 的 Windows 版为例,介绍如何在 Eclipse 中创建 Maven 项目、导入 Maven 项目、修改 Maven 配置。

    Eclipse (for Java): http://www.eclipse.org/downloads/packages/

    1) Eclipse 中配置 Maven

        (1) 点击菜单 Windows -> Preferences 显示 Preferences 对话框;

        (2) 选择 Preferences 对话框左侧菜单里的 Maven -> Installations,点击 “Add” 按钮;

        (3) 在显示 “New Maven Runtime” 对话框,输入信息:

            Installation home: C:\Applications\java\apache-maven-3.8.1
            Installation name: apache-maven-3.8.1

            点击 “Finish” 按钮,回到 Preferences 对话框,选中列表中新增的 “apache-maven-3.8.1”,点击 “Apply and close” 按钮。

    2) Eclipse 创建 Maven 项目

        (1) New Project 入口
        
            菜单 File -> New -> Maven Project -> 显示 “New Maven Project” 对话框

        (2) Workspace & location 选择

            Create a simple project (skip archetype selection): 不选表示创建一个空的 Maven 项目(只包含 pom.xml 和 src 等空目录)

            Use default workspace location:首次运行 Eclipse 时要设置的默认路径

            Location: 表示 Java 项目的保存位置,不想使用默认路径时,可以在这项里输入其它路径

            其它项默认。

        (3) Archetype 选择

            Catalog: Internal

            选择列表中的 org.apache.maven.archetypes:maven-archetype-quickstart,点击 Next 按钮进入 “Specify Archetype parameters” 界面:

                Group Id:  com.example
                Artifact Id: FirstDemo
                Version: 0.0.1-SNAPSHOT
                Package: com.example.FirstDemo

            点击 “Finish” 按钮,项目创建成功。

    3) Eclipse 导入 Maven 项目

        (1) 菜单 File -> Import,弹出 "Import" 对话框,将列表中 Maven 选项展开,选择 Existing Maven Projects,最后点击 Next 按钮。
        (2)在 “Import Maven Projects” 界面,选择本地 Maven 项目所在的目录,Ecilpse 会自动识别出该目录下所有 Maven 项目的 pom.xml 文件,可以根据情况选择导入一个或多个项目,然后点击 Finish 按钮。

    4) Eclipse 执行 Maven 命令

        (1) 执行预置 Maven 命令

            在左从项目列表里选中要运行的项目或在该项目的 pom.xml 上单击鼠标右键,选择 Run As 选项,就能够看到如下预置命令列表:

                1 Maven Build
                2 Maven Build …
                3 Maven clean
                4 Maven generate-sources
                5 Maven install
                6 Maven test

        (2) 执行自定义 Maven 命令

            如果需要执行的 Maven 命令没有被预置在 Run As 的菜单中,可以选择 2 Maven build … ,在弹出的对话框中自定义 Maven 命令。

                Goals: 输入 Maven 命令,比如 clean compile
                Profiles: 在开发、测试、生产等环境使用不同配置文件时使用,一般情况留空
                User settings: C:\Applications\java\apache-maven-3.8.1\conf\settings.xml

            在该对话框中还可以配置很多内容,例如是否更新 Snapshot,是否开启调试输出、以及添加运行参数等,根据需求进行适当的配置。配置完成后,点击 Run 按钮即可执行自定义的 Maven 命令。

转自:https://www.cnblogs.com/tkuang/p/16365453.html