7 spring boot 打war包和jar

一、war 包

1 pom.xml 依赖

  • dependecies 里添加spring-boot-starter-tomcat 的provided依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
  • 2 在build标签添加maven-war-plugin 插件
<finalName>${project.artifactId}</finalName>    
<plugins>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>
<plugins>
  • 3 添加war
<groupId>com.imooc</groupId><artifactId>miaosha</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging>
  • 4 class Application 继承 extends SpringBootServletInitializer 并重写一个方法
@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(Application.class);}
  • 5 完成以上配置之后,项目既可以以jar包方式去跑,也可以以war包方式去跑,还可以导出war包
  • NOTE:执行完上述配置之后,我在ide上无法运行项目,需要将
  <scope>provided</scope>
#改回成
  <scope>compile</scope>

2 导出war包

在项目慕执行mvn clean package 就会在target目录下生成war包

3 将war包,放到服务器上的tomcat目录下

  • 1 scp复制
scp miaosha.war gigabyte@10.23.23.25:/usr/tomcat8/webapps/

  • 2 重启tomcat
cd /usr/tomcat8
sudo ./bin/startup.sh

二、jar 包

1 pom.xml配置文件

  • 1 jar 包
<groupId>com.imooc</groupId><artifactId>miaosha</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging>
  • 2 删除依赖
    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-tomcat</artifactId><!--      <scope>provided</scope>-->      <scope>compile</scope>    </dependency>
  • 3 jar包插件
<plugin>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-maven-plugin</artifactId></plugin>
  • 4 启动类入口函数
    public static void main(String[] args) {
    SpringApplication.run(Application.class, args); System.err.println("spring boot 启动成功....");}
  • 5 命令行中mvn clean package
mvn clean package

2 在linux上运行jar包

cd ~/weida
nohup java -jar miaosha.jar 2>&1
tail -f nohup.out
  • 1 看tail只能看到最后几行没有报错,很高兴去前端看,发现没有页面展示,启动失败了
  • 2 于是看了整个nohup.out

    发现中间有报错
  • 3 分析 & 解决:肯定是因为tomcat目前是开启状态,就去关闭tomcat
sudo sh /usr/tomcat8/bin/shutdown.sh
回去重启
cd ~/Documents/tar/apache-jmeter-5.4.1/redis_mq
sudo java -jar ~/Documents/tar/apache-jmeter-5.4.1/redis_mq/miaosha.jar


posted @ 2021-07-10 21:43  weidalin  阅读(61)  评论(0)    收藏  举报