天天看點

mvn打包(八)一、指令二、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:configmavenapache-maven-3.3.9
E:ProgramFilesJavajdk1.7.0_80in;%MAVEN_HOME%in;E:ProgramFilesJavajdk1.7.0_80jrein;C:Program Files (x86)VanDyke SoftwareClients;C:UsersAdministratorAppDataLocalBypassRuntm;C:UsersAdministratorAppDataRoaming
pm;C:UsersAdministratorAppDataLocalYarnin;C:UsersAdministratorAppDataLocalGitHubDesktopin      

二、mvn 本地打包注意事項

1、設定settings.xml檔案

在指令行視窗執行maven指令時指定setting.xml檔案
mvn clean package --settings F:configmavensettingssettings.xml  -Dmaven.test.skip=true
mvn -s F:configmavensettingssettings.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:UsersAdministrator.IntelliJIdea2019.2system omcatUnnamed_Reserve_main_2confCatalinalocalhost目錄下不會生成ROOT.xml檔案,而idea是通過ROOT.xml中的配置<Context path="" docBase="F:

eserveReserve_main arget

eserve" />找到項目啟動路徑的。

4.2 Linux啟動

在tomcat的bin目錄下的catalina.sh檔案裡添加啟動參數

export JAVA_OPTS="-DenvironmenTypeCode=kfTest"