如何使用Maven将WAR文件部署到Tomcat服务器中?一文带你搞定!

举报
bug菌 发表于 2023/10/11 17:17:40 2023/10/11
【摘要】 🏆本文收录于《Spring Boot从入门到精通》,专门攻坚指数提升,2023 年国内最系统+最强(更新中)。


🏆本文收录于《Spring Boot从入门到精通》,专门攻坚指数提升,2023 年国内最系统+最强(更新中)。

本专栏致力打造最硬核Spring Boot 系列教程,从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。

环境说明:Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE

前言

部署WEB应用程序到Tomcat服务器是Java WEB开发不可避免的一个环节。Maven作为Java项目管理的神器,可以极大地简化这个过程,本篇文章将会教你如何使用Maven把WAR文件部署到Tomcat服务器中。

摘要

本文介绍如何使用Maven将WAR文件部署到Tomcat服务器中。我们将会使用Tomcat Maven插件进行部署。首先,我们需要添加Tomcat Maven插件到项目中,并在插件配置中指定Tomcat服务器的地址、用户名和密码。最后,我们可以通过Maven命令来编译项目并将WAR文件部署到Tomcat服务器中。

正文

实现步骤

  1. 在项目的pom.xml文件中添加Tomcat Maven插件的依赖。
  2. 使用Maven命令编译项目并生成WAR文件。
  3. 使用Tomcat Maven插件将WAR文件部署到Tomcat服务器中。
  4. 在浏览器中输入"http://localhost:8080/myapp"来访问应用程序。

部署流程

添加Tomcat Maven插件

我们需要在项目的pom.xml文件中添加Tomcat Maven插件的依赖。

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat-maven-plugin</artifactId>
      <version>3.2</version>
      <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>tomcat</server>
        <path>/myapp</path>
        <username>admin</username>
        <password>admin</password>
      </configuration>
    </plugin>
  </plugins>
</build>

在插件配置中,我们需要指定Tomcat服务器的地址、用户名、密码和项目在服务器上的部署路径等信息。

编译WAR文件

使用Maven命令编译项目并生成WAR文件。

$ mvn package

部署WAR文件

使用Tomcat Maven插件将WAR文件部署到Tomcat服务器中。

$ mvn tomcat7:deploy

如果之前已经部署过相同的应用程序,在重新部署之前需要先卸载旧版本。

$ mvn tomcat7:undeploy

运行测试

我们可以在浏览器中输入"http://localhost:8080/myapp"来访问应用程序。

代码

pom.xml

<?xml version="1.0" encoding="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.example</groupId>
  <artifactId>myapp</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
      <!-- Add your dependencies here -->
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <url>http://localhost:8080/manager/text</url>
          <server>tomcat</server>
          <path>/myapp</path>
          <username>admin</username>
          <password>admin</password>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <repositories>
    <repository>
      <id>central</id>
      <url>http://central</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <url>http://central</url>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>example-repo</id>
      <name>example Repository</name>
      <url>scp://example.com/home/example/repo</url>
    </repository>
    <snapshotRepository>
      <id>example-snapshot-repo</id>
      <name>example Snapshot Repository</name>
      <url>scp://example.com/home/example/snapshot-repo</url>
    </snapshotRepository>
  </distributionManagement>

  <profiles>
    <profile>
      <id>profile-1</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <property>
          <name>some.property</name>
          <value>some value</value>
        </property>
      </properties>
    </profile>
  </profiles>

  <servers>
    <server>
      <id>tomcat</id>
      <username>admin</username>
      <password>admin</password>
    </server>
  </servers>

</project>

测试用例

我们可以编写一个简单的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 HelloWorld extends HttpServlet {

  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    response.getWriter().println("Hello, World!");
  }

}

代码解析

pom.xml是Maven项目的核心配置文件,用于定义项目的基本信息、依赖关系、插件以及构建和部署相关的设置。上述pom.xml中的配置项包括:

  • 项目基本信息:groupId表示项目所属的组织或公司,artifactId表示项目的唯一标识符,version表示项目的版本号。
  • 依赖关系:在dependencies标签中添加需要的依赖,这里没有添加任何依赖。
  • 插件:在plugins标签中添加需要的插件,这里添加了tomcat-maven-plugin插件,用于将项目部署到Tomcat服务器。
  • 仓库:定义Maven的仓库地址,这里定义了中央仓库的地址。
  • 发布设置:定义发布到远程仓库的相关信息,如仓库名称、仓库地址等。
  • 配置文件:定义了一个名为profile-1的配置文件,并将其设为默认激活的配置文件。在该配置文件中,定义了一个名为some.property的属性,并将其值设为some value。
  • 服务器设置:在servers标签中定义了一个名为tomcat的服务器,用于部署项目到Tomcat服务器上。

HelloWorld是一个简单的Servlet,当接收到GET请求时,会向客户端返回一段"Hello, World!"的字符串。

小结

本文介绍了如何使用Maven将WAR文件部署到Tomcat服务器中。我们使用Tomcat Maven插件进行部署,通过在插件配置中指定Tomcat服务器的地址、用户名和密码等信息来完成部署。最后,我们通过Maven命令编译项目并将WAR文件部署到Tomcat服务器中。

附录源码

  如上涉及所有源码均已上传同步在「GitHub」,提供给同学们一对一参考学习,辅助你更迅速的掌握。

总结

本文介绍了如何使用Maven将WAR文件部署到Tomcat服务器中,通过添加Tomcat Maven插件并在插件配置中指定Tomcat服务器的地址、用户名和密码等信息来完成部署。同时,我们通过Maven命令编译项目并将WAR文件部署到Tomcat服务器中,并使用一个简单的Servlet来测试部署是否成功。这些步骤都极大地简化了WEB应用程序部署的流程,提高了开发效率。

☀️建议/推荐你


无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Spring Boot」,从入门到精通,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门SpringBoot,就像滚雪球一样,越滚越大,指数级提升。

  最后,如果这篇文章对你有所帮助,帮忙给作者来个一键三连,关注、点赞、收藏,您的支持就是我坚持写作最大的动力。

  同时欢迎大家关注公众号:「猿圈奇妙屋」 ,以便学习更多同类型的技术文章,免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板、技术文章Markdown文档等海量资料。

📣关于我

我是bug菌,CSDN | 掘金 | InfoQ | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,华为云 | 阿里云| 腾讯云等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。