转载

第一个Maven项目:简单的Servlet

本文介绍如何使用 Maven 创建一个Servlet

开发环境简介

$ java -version
java version "14.0.1" 2020-04-14
...
$ mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
OS name: "mac os x", version: "10.14.5", arch: "x86_64", family: "mac"
...

我们的目标就是通过Maven将 HelloHooyes.java 编译成字节码 HelloHooyes.class

1、创建一个项目专用的目录

Maven 项目需要一个目录,假设我们创建的根目录名称为 hooyes ,目标的目录结构如下: 第一个Maven项目:简单的Servlet

我们注意到,里面有两个核心文件,一个是 pom.xml ,另一个是 HelloHooyes.java ,值到注意的是目录的结构是严格的,pom.xml 必须在根目录下,HelloHooyes.java 必须在 src/main/java/ 目录下。

2、创建 pom.xml

在根目录下 hooyes/ 里创建 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>
  <groupId>hooyes</groupId>
  <artifactId>hooyes</artifactId>
  <version>1.0-hooyes</version>
  <properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>
  <dependencies>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
  </dependency>
  </dependencies>
</project>

因为 servlet 需要实现 HttpServlet 接口,所以 dependency 中添加 javax.servlet 。Maven 将会在编译的时候,自动帮我们下载引入相关的jar包。

github上的 pom.xml

创建了这个文件之后,进入到 hooyes 目录执行 mvn clean 检测,看到 BUILD SUCCESS 即表示 pom.xml 的格式没有错误。

$ mvn clean
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.317 s
[INFO] Finished at: 2020-05-04T21:29:46+08:00
...

3、创建一个文件 HelloHooyes.java

在 hooyes/src/main/java/ 创建这个文件

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloHooyes extends HttpServlet {
   protected void doGet(HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException {
      res.getWriter().append("Hello Hooyes!");
   }

   protected void doPost(HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException {
      res.getWriter().append("Welcome to https://hooyes.net/p/first-maven");
   }
}

github上的 HelloHooyes.java

4、编译项目

在 hooyes 根目录,执行

$ mvn package

我们看到 [INFO] BUILD SUCCESS 即表示编译成功。

编译成功后,在 hooyes/ 目录下产生 target 目录。

第一个Maven项目:简单的Servlet

hooyes/target/classes/ 目录中的 HelloHooyes.class 即是我们需要的目标文件。

5、布署 Servlet

编译好的 HelloHooyes.class 如何将它布署到 Web Server 中,我在前一篇文章中已写过,这里不再重复。

请参考 《最简单的第一个Servlet》 中的布署环节。

到此,我们已成功的完成第一个Maven 项目。

如果你遇到问题,可以在github上给我 提一个 issue .

https://hooyes.net/p/first-maven

https://hooyes.net/p/first-maven

原文  https://hooyes.net/p/first-maven
正文到此结束
Loading...