• 创建第一个Maven项目


    -----------------------siwuxie095

       

       

       

       

       

       

       

       

       

    创建第一个 Maven 项目

       

       

    1、打开 Eclipse,File->New->Maven Project

       

       

       

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

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

       

       

       

       

       

    2、输入 Maven 项目相关信息

       

       

       

    其中:

       

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

       

       

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

       

       

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

       

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

       

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

       

       

    4Packaging:当前 Maven 项目的打包方式,有三种:jar、

    war、pom,打包方式决定了当前 Maven 项目的性质

       

    1jarJava 项目

       

    2warWeb 项目

       

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

       

       

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

       

       

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

       

       

       

       

       

    3、这里创建的是 Web 项目,如下:

       

       

       

    其中有两个错误:

       

    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…

       

       

       

       

       

       

    4、在 src/main/java 目录中创建 Servlet 时,编译报错

       

       

       

    原因:缺少 servlet-api-xxx.jar,解决方法:在 pom.xml

    project 标签中添加依赖,即 添加该 jar 包的坐标

       

    <dependencies>

    <dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>servlet-api</artifactId>

    <version>2.5</version>

    <!--

    注意:

     

    最终要将该项目运行在 Tomcat 中,而 Tomcat

    已经包含了 servlet-api jar

     

    这里添加 servlet-api 的依赖仅仅是为了保证编

    译通过,不报错而已

     

    当把项目运行在 Tomcat 中时,为避免 jar 包冲突,

    需要将这里 servlet-api 的作用范围 scope 设置为

    provided,即 只在编译和测试时有效,而在运行时

    无效

     

    同理,jsp-api 也是如此

    -->

    <scope>provided</scope>

    </dependency>

    </dependencies>

       

       

       

    保存后,项目目录将出现 Maven Dependencies,该 jar 包

    索引到本地仓库,且此时编译正常

       

       

       

    注:创建的 Servlet 将在 web.xml 中自动注册,无需手动注册。

    当然,可以在 web.xml 中对该 Servlet 的访问路径进行修改

       

       

       

       

       

    5、在添加依赖时,如果不知道该依赖的相关信息,就需要查找

    依赖,可以使用仓库搜索服务来根据关键字得到 Maven 坐标:

       

    1http://mvnrepository.com/

       

    2http://search.maven.org/

       

    3http://www.mvnbrowser.com

       

    4https://repository.sonatype.org/#welcome

       

       

       

       

       

    6、不再使用 Maven 默认的 tomcat-maven-plugin 插件,改用

    tomcat6-maven-plugin tomcat7-maven-plugin 插件

       

    「截止目前(2017/9/22)最新的插件」

       

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

       

    <build>

    <plugins>

    <plugin>

    <groupId>org.apache.tomcat.maven</groupId>

    <artifactId>tomcat6-maven-plugin</artifactId>

    <version>2.2</version>

    </plugin>

    <plugin>

    <groupId>org.apache.tomcat.maven</groupId>

    <artifactId>tomcat7-maven-plugin</artifactId>

    <version>2.2</version>

    </plugin>

    </plugins>

    </build>

       

       

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

       

    <pluginGroup>org.apache.tomcat.maven</pluginGroup>

       

       

       

    插件官网:

       

    http://tomcat.apache.org/maven-plugin.html

       

       

    参考链接:

       

    参考链接1参考链接2参考链接3参考链接4

       

       

       

       

       

    7、项目文件一览:

       

    LoginServlet.java:

       

    package com.siwuxie095.servlet;

       

    import java.io.IOException;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

       

    public class LoginServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

       

    public LoginServlet() {

    }

       

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");

    response.getWriter().write("Hello Maven!");

    }

       

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    doGet(request, response);

    }

       

    }

       

       

       

    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_2_5.xsd" version="2.5">

    <display-name>maven-test</display-name>

    <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

    </welcome-file-list>

       

    <servlet>

    <description></description>

    <display-name>LoginServlet</display-name>

    <servlet-name>LoginServlet</servlet-name>

    <servlet-class>com.siwuxie095.servlet.LoginServlet</servlet-class>

    </servlet>

    <servlet-mapping>

    <servlet-name>LoginServlet</servlet-name>

    <url-pattern>/LoginServlet</url-pattern>

    </servlet-mapping>

    </web-app>

       

       

       

    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/xsd/maven-4.0.0.xsd">

     

    <modelVersion>4.0.0</modelVersion>

    <!-- 当前 Maven 项目的坐标信息 -->

    <groupId>com.siwuxie095.maven</groupId>

    <artifactId>maven-test</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <packaging>war</packaging>

     

     

    <dependencies>

    <dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>servlet-api</artifactId>

    <version>2.5</version>

    <!--

    注意:

     

    最终要将该项目运行在 Tomcat 中,而 Tomcat

    已经包含了 servlet-api jar

     

    这里添加 servlet-api 的依赖仅仅是为了保证编

    译通过,不报错而已

     

    当把项目运行在 Tomcat 中时,为避免 jar 包冲突,

    需要将这里 servlet-api 的作用范围 scope 设置为

    provided,即 只在编译和测试时有效,而在运行时

    无效

     

    同理,jsp-api 也是如此

     

    几乎所有 Maven Web 项目都要添加 servlet-api

    jsp-api 依赖,因为这里没有编写 JSP 页面,所

    以没有添加 jsp-api 依赖

    -->

    <scope>provided</scope>

    </dependency>

    </dependencies>

       

    </project>

       

       

       

       

       

    8、运行该 Web 项目

       

       

       

    法一:选择项目名,右键->Run As->Run on Server

       

       

    法二:选择项目名,右键->Run As->Maven build…,

    在 Goals 处输入 tomcat7:run(或 tomcat6:run

       

    「如果是在 CMD 窗口中,则需要输入 mvn tomcat7:run」

       

       

       

    注意:

       

    (1)Maven build…Maven build 的区别:

       

    前者是手动输入命令进行操作,后者是保存前者的命令记录

       

       

    2Run on Servertomcat7:run 的区别:

       

    前者是将该 Web 项目运行在本机安装的 Tomcat 9,而后者

    是将该 Web 项目运行在 Maven 的 tomcat7-maven-plugin

    插件

       

       

       

       

       

    9、调试该 Web 项目

       

       

       

    法一:选择项目名,右键->Debug As->Debug on Server

       

       

    法二:选择项目名,右键->Debug As->Maven build…,

    在 Goals 处输入 tomcat7:run(或 tomcat6:run

       

    值得注意的是:调试时需要手动选择该项目

       

       

       

       

       

       

    10、访问路径

       

    http://localhost:8080/maven-test/LoginServlet

       

       

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    【2019-11-22】组件与模板 -- 显示数据
    【2020-01-22】模块
    【2020-01-21】迭代器和生成器
    【2020-01-17】高级类型
    【2020-01-08】类和对象
    【2019-01-07】类型和变量 + 语句
    【2020-01-07】C#语言元素
    【2020-01-07】C# 基本概念
    【2020-01-05】C#程序内部
    时间就是这样一点一点的度过的
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/7573365.html
Copyright © 2020-2023  润新知