首页 > 技术文章 > Maven项目打包war/jar包,tomcat 做成服务

jianghengchao 2020-09-21 15:59 原文

 其他:同时打包成jar和war没试过,只用其中一个是可行的

1,maven项目打包war
A, pom.xml文件顶部加入这行代码:
<packaging>war</packaging> <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.nari.slsd.sl.report</groupId> <artifactId>sl.bc.report_hzy</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> B, pom文件<dependencies>标签里面加入 <dependencies> <!-- maven 项目打war包 -->      <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.0.0</version> </dependency> </dependencies>

 

 

2,maven项目打包jar
A,  pom文件</dependencyManagement>标签后面加入以下代码

</dependencyManagement>

<build>
  <plugins>
   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
     <mainClass>com.nari.slsd.hu.report.ServerApplication</mainClass>
     <includeSystemScope>true</includeSystemScope>
    </configuration>
    <executions>
     <execution>
      <goals>
       <goal>repackage</goal>
      </goals>
     </execution>
    </executions>
   </plugin>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
     <source>1.8</source>
     <target>1.8</target>
     <encoding>UTF-8</encoding>
    </configuration>
   </plugin>
   <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.3</version>
    <configuration>
     <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
     <dockerDirectory>src/main/docker</dockerDirectory>
     <resources>
      <resource>
       <targetPath>/</targetPath>
       <directory>${project.build.directory}</directory>
       <include>${project.build.finalName}.jar</include>
      </resource>
     </resources>
    </configuration>
   </plugin>
  </plugins>
 </build>



改好后:选中项目右键选择maven强制更新,然后选中项目右键选择Run As, 然后再选择maven build,在弹出界面中,
“Goals”输入框中输入 -X package,同时勾选下方 Update Snapshots 和 Skip Tests 选项框,然后点击Revert就等项目开始打包了
3,tomcat 注册成服务(主要是bin下面的的)

  处理: a,conf下面得service.xml文件更改加入代码URIEncoding="GB2312" 
      加入的地方为:<Connector URIEncoding="GB2312" port="8080"      b,bin下面的service.bat文件更改,在第一行@echo off 下加入       set JAVA_HOME=D:\fysbyz\apache-tomcat-8.5.23-fysbyz\bin\jdk1.8       set CALATINA_HOME=D:\fysbyz\apache-tomcat-8.5.23-fysbyz       set PR_DISPLAYNAME=tomcat8_8182_fysbyz      c,bin下面的startup.bat文件和shutdown.bat更改,在第一行@echo off下加入(不加也行,直接进入第四步)       set JAVA_HOME=D:\fysbyz\apache-tomcat-8.5.23-fysbyz\bin\jdk1.8       set CALATINA_HOME=D:\fysbyz\apache-tomcat-8.5.23-fysbyz      d,以管理员的身份打开cmd,进入tomcat目录下的bin目录,运行service.bat文件,如果不行,运行命令 service.bat install      e,如果注册多个tomcat服务的时候报错(如安装“Tomcat9”服务失败),则找到service.bat下面的修改Tomcat名称       set SERVICE_NAME=Tomcat9_1       set DISPLAYNAME=Apache Tomcat 9.1 %SERVICE_NAME%
      
      f,删除服务:sc delete 服务名称

 

推荐阅读