SpringBoot打war包、jar包

SpringBoot打war包

1、添加spring-boot-starter-tomcat的provided依赖

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
  • provided指编译时依赖

2、添加maven-war-plugin插件

1
2
3
4
5
6
7
 <finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
</plugin>
</plugins>
  • finalName表示打包出的war包引用project.artifactId命名

3、在项目pom前加上packaging-war

image-20210317151848454

4、修改启动类

​ 添加extend、重写一个方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;


@SpringBootApplication
public class Mymiaosha01Application extends SpringBootServletInitializer {

public static void main(String[] args) {
SpringApplication.run(Mymiaosha01Application.class, args);
}

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(Mymiaosha01Application.class);
}
}

5、命令行启动

来到项目所在文件位置

image-20210317154308061

cmd: mvn clean package

image-20210317154436734

6、放到tomcat目录的webapps/Root中

7、启动tomcat

SpringBoot打jar包

springboot默认打jar包

正常情况不需要修改代码在右边maven窗口点击package即可

若对比war包,改成jar的话,修改时注意以下几点

  • war修改成jar

  • 删除上述第一步的依赖

  • 将启动类还原

  • 将插件修改成下述代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <build>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    </plugin>
    </plugins>
    </build>

    正常情况已经可以打包了

    但是测试时出现了以下错误

    Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:res…

    将上边插件这个修改为下面的就可以了

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <build>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <dependencies>
    <dependency>
    <groupId>org.apache.maven.shared</groupId>
    <artifactId>maven-filtering</artifactId>
    <version>1.3</version>
    </dependency>
    </dependencies>
    </plugin>
    </plugins>
    </build>

    打包成功

    image-20210317204550353

但是打包成功,到Linux仍然运行失败

再次修改插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

将打包后的jar包放入Linux下运行

如复制到新建文件夹myproject中

进入文件夹写如下命令运行jar包

1
2
3
nohup java -jar mymiaosha01.jar
#
java -jar mymiaosha01.jar

此命令可以将输出结果到nohup.out文件中

查看文件内容tail -f nohup.out

image-20210317205639866


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!