Maven打包JavaWeb项目的两种方式

Maven打包web项目方式及步骤

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

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

一、通过eclipse打包web项目

(1)进入eclipse打包右键点击项目,选择Run As。
Maven打包JavaWeb项目的两种方式_第1张图片

(2)任何打包前先进行清理,选择Maven clean。等待console出现如下图所示的BUILD SUCCESS,清理之前的包
Maven打包JavaWeb项目的两种方式_第2张图片
(3)之后Maven打包处理得到以下窗口,再Goals中输入packge(也可以跳过clean步骤吗,再这里直接输入clean package)
选择跳过测试Skip Tests与更新快照Update Snapshots
Maven打包JavaWeb项目的两种方式_第3张图片
Goals中其实填入的的就是maven常用的命令:

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

(4)等待Console出现打包成功的信息,也可能会失败。
Maven打包JavaWeb项目的两种方式_第4张图片
(5)之后查看target下是否存在打包成功的class文件及xxxxx.war包
打包之前项目的target文件夹如下,是没有任何的class文件以及xxx.war包的
Maven打包JavaWeb项目的两种方式_第5张图片
打包之后查看项目的target文件夹,存在了class字节码文件与war包
Maven打包JavaWeb项目的两种方式_第6张图片
(6)之后将war拷贝到tomcat的wapapps文件夹下,即可以通过访问http://localhost:8080/xxx项目名称访问,这样做的好处就是可以脱离IDE,进行打包发布。

二、通过命令来实现打包

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

mvn clean

Maven打包JavaWeb项目的两种方式_第7张图片
(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}.propertiesfilter>
       filters>
       <resources>  
          <resource>  
              <directory>src/main/resources/directory>  
              <filtering>truefiltering>  
              <includes>  
                  <include>**/*.propertiesinclude>  
              includes>  
          resource> 
       resources>
 ....
 build>

其中${env}.properties就是让我们传入环境参数qa、dev、prod、pre。
- DskipTests:跳过测试,否则打包过程很慢
Maven打包JavaWeb项目的两种方式_第8张图片
Maven打包JavaWeb项目的两种方式_第9张图片

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

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

(1)mvn打包必须有JDK环境下才能正确打包。

(2)正确配置pom.xml文件

(3)版本号可以在pom.xml中修改

你可能感兴趣的:(Maven)