Maven打包JavaWeb项目的两种实现方式

 更新时间:2025年02月14日 10:14:43   作者:J-Jian  
介绍了两种Maven打包Web项目的方式:通过Eclipse和通过命令行,Eclipse方式包括清理、打包、跳过测试、输入 Goals 等步骤,命令行方式包括进入项目目录、执行 clean 和 package 命令、跳过测试等步骤,注意事项包括确保有JDK环境、正确配置pom.xml文件和修改版本号

Maven打包web项目方式及步骤

我最近学习的打包方式有两种,分为如下:

  • 第一种是通过命令行打包:要知道maven常用的命令
  • 第二种是通过eclipse打包:简单方便就可以打包,是普遍使用的方式

一、通过eclipse打包web项目

(1)进入eclipse打包右键点击项目,选择Run As。

(2)任何打包前先进行清理,选择Maven clean。等待console出现如下图所示的BUILD SUCCESS,清理之前的包

(3)之后Maven打包处理得到以下窗口,再Goals中输入packge(也可以跳过clean步骤吗,再这里直接输入clean package)

选择跳过测试Skip Tests与更新快照Update Snapshots

Goals中其实填入的的就是maven常用的命令:

  • mvn package:打包命令
  • mvn install: 打包后将其安装在本地仓库,日后可以调用
  • mvn test:运行测试
  • mvn clean:清除之前的包
  • mvn compile:变异源代码,生成class文件
  • ………

(4)等待Console出现打包成功的信息,也可能会失败。

(5)之后查看target下是否存在打包成功的class文件及xxxxx.war包

打包之前项目的target文件夹如下,是没有任何的class文件以及xxx.war包的

打包之后查看项目的target文件夹,存在了class字节码文件与war包

(6)之后将war拷贝到tomcat的wapapps文件夹下,即可以通过访问http://localhost:8080/xxx项目名称访问,这样做的好处就是可以脱离IDE,进行打包发布。

二、通过命令来实现打包

再安装好maven环境之后,可以再dos下进行maven命令进行项目的打包。其大体步骤跟第一种方式大同小异。

(1)进入项目所在目录,进行clean命令

mvn clean

(2)打包+传入配置文件参数+跳过测试

mvn package -Pqa -DskipTests

  • package:基本命令,进行打包
  • -Pqa:项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,通过maven可以实现按不同环境进行打包部署。也就是dev(开发)、qa(测试)、pre(预发)、生产正式(prod)四个环境,对应的都有各自的配置文件properties。

  • 通过-P传入环境id参数就可以选择环境,比如传入qa,即命令-Pqa 。
  • 会得到qa.peroperties配置文件,这是因为我们在pom.xml文件中有这样的配置
<build>
    <filters>
           <filter>src/main/resources/env/${env}.properties</filter>
       </filters>
       <resources>  
          <resource>  
              <directory>src/main/resources/</directory>  
              <filtering>true</filtering>  
              <includes>  
                  <include>**/*.properties</include>  
              </includes>  
          </resource> 
       </resources>
 ....
 </build>

其中${env}.properties就是让我们传入环境参数qa、dev、prod、pre。

- DskipTests:跳过测试,否则打包过程很慢

(4)同样在target文件夹下找到项目war包,然后拷贝到tomcat的webapps文件夹下进行打包发布配置

在打包过程中需要注意的几点:

  1. mvn打包必须有JDK环境下才能正确打包。
  2. 正确配置pom.xml文件
  3. 版本号可以在pom.xml中修改

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot读取配置文件常用方法解析

    SpringBoot读取配置文件常用方法解析

    这篇文章主要介绍了SpringBoot读取配置文件常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • synchronized底层原理之JVM层面的锁实现细节与流程

    synchronized底层原理之JVM层面的锁实现细节与流程

    本文从JVM底层视角,详细拆解了synchronized的实现逻辑,涵盖锁的存储载体(对象头的MarkWord)、锁的触发指令(monitorenter/monitorexit指令和ACC_SYNCHRONIZED标志位)以及锁的调度机制,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • Java实现简单的扫雷小程序

    Java实现简单的扫雷小程序

    这篇文章主要为大家详细介绍了Java实现简单的扫雷小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • SpringBoot服务端数据校验过程详解

    SpringBoot服务端数据校验过程详解

    这篇文章主要介绍了SpringBoot服务端数据校验过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 如何利用SpringAOP的返回通知处理数据加密返回

    如何利用SpringAOP的返回通知处理数据加密返回

    这篇文章主要介绍了如何利用SpringAOP的返回通知处理数据加密返回,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2024-12-12
  • 通过pipeline配置sonar自动化实现过程解析

    通过pipeline配置sonar自动化实现过程解析

    这篇文章主要介绍了通过pipeline配置sonar自动化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Spring Boot 如何解决富文本上传图片跨域问题

    Spring Boot 如何解决富文本上传图片跨域问题

    这篇文章主要介绍了Spring Boot 如何解决富文本上传图片跨域问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • spring的data派生查询机制的实现

    spring的data派生查询机制的实现

    SpringData的派生查询是一种通过方法名约定自动生成数据库查询的机制,无需手动编写SQL或JPQL,下面就来介绍一下spring data派生查询的实现,感兴趣的可以了解一下
    2025-03-03
  • springAop实现讲解(看这篇够了)

    springAop实现讲解(看这篇够了)

    AOP面向切面编程是一种编程范式,它通过将通用的横切关注点(如日志、事务、权限控制等)与业务逻辑分离,使得代码更加清晰、简洁、易于维护,这篇文章主要介绍了springAop实现讲解(看这篇够了),需要的朋友可以参考下
    2024-02-02
  • Java使用POI导出Excel(一):单sheet

    Java使用POI导出Excel(一):单sheet

    这篇文章介绍了Java使用POI导出Excel的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10

最新评论