mvn打包(八)

 


一、命令

1、通过下述命令对maven项目进行打包

mvn clean package -Dmaven.test.skip=true

 在项目的根路径下打开命令行窗口。如下图

需要注意的是,在settings.xml中配置的maven仓库,需要包含pom.xml中所有依赖的jar包,不然会报错。

需要注意的是,若当maven的环境变量是在用户变量中进行配置的,执行mvn命令时,则会去c盘的.m下寻找settings.xml文件。若是在系统变量中进行配置的,则会去maven的bin目录下查找。

maven环境变量:
F:\config\maven\apache-maven-3.3.9 E:\ProgramFiles\Java\jdk1.7.0_80\bin;%MAVEN_HOME%\bin;E:\ProgramFiles\Java\jdk1.7.0_80\jre\bin;C:\Program Files (x86)\VanDyke Software\Clients\;C:\Users\Administrator\AppData\Local\BypassRuntm;C:\Users\Administrator\AppData\Roaming\npm;C:\Users\Administrator\AppData\Local\Yarn\bin;C:\Users\Administrator\AppData\Local\GitHubDesktop\bin

二、mvn 本地打包注意事项

1、设置settings.xml文件

在命令行窗口执行maven命令时指定setting.xml文件
mvn clean package --settings F:\config\maven\settings\settings.xml  -Dmaven.test.skip=true
mvn -s F:\config\maven\settings\settings.xml clean package  -Dmaven.test.skip=true

2、修改pom.xml文件:若打完包没有配置文件(Maven项目编译之后classes中没有.properties等文件),需要添加如下配置

复制代码
<build>
<resources>
      <resource>
        <directory>src/main/config</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.dtd</include>
          <include>**/*.csv</include>
          <include>**/*.xml</include>
        </includes>
        <!--<filtering>true</filtering>-->
      </resource>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.dtd</include>
          <include>**/*.csv</include>
          <include>**/*.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.dtd</include>
          <include>**/*.csv</include>
          <include>**/*.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.dtd</include>
          <include>**/*.csv</include>
          <include>**/*.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/sino</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.dtd</include>
          <include>**/*.csv</include>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
  </build>
复制代码

查找指定目录下的所有配置文件。

3、修改catalina.bat:添加启动参数。

如果项目需要配置启动参数,即

执行完mvn命令后,会在target下面生成war包。

4、解压war包并启动tomcat

将war包放到tomcat的ROOT目录下,解压。

4.1 本地启动

本地测试mvn打完的包,通过startup.bat启动。如果系统有启动参数,则需要在catalina.bat(tomcat的bin目录下)中进行配置,配置格式如下:

set JAVA_OPTS="-DenvironmenTypeCode=kfTest"(这是准备金项目配置的用户系统的环境变量)

startup.bat启动。shutdown.bat关闭。

注意:本地启动tomcat时,若修改了catalina.bat,会导致idea项目无法启动:原因如下:

若修改了catalina.bat,则idea在启动项目时,C:\Users\Administrator\.IntelliJIdea2019.2\system\tomcat\Unnamed_Reserve_main_2\conf\Catalina\localhost目录下不会生成ROOT.xml文件,而idea是通过ROOT.xml中的配置<Context path="" docBase="F:\reserve\Reserve_main\target\reserve" />找到项目启动路径的。

4.2 Linux启动

在tomcat的bin目录下的catalina.sh文件里添加启动参数

export JAVA_OPTS="-DenvironmenTypeCode=kfTest"

 

posted @   慎终若始  阅读(701)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示