SpringBoot项目如何进行打包部署

springboot的打包方式有很多种。有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的。这里主要介绍如何打成jar进行部署。不推荐用war,因为springboot适合前后端分离,打成jar进行部署更合适。 首先需要在application.properties当中配置端口

server.port=8080# http://localhost:8088/swagger-ui.html

marven的配置文件

<?xml version="1.0" encoding="UTF-8"?><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.weixin</groupId>
    <artifactId>smallsystem</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>smallsystem</name>
    <description>smallsystem</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.2.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.weixin.SmallsystemApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build></project>

注意最下面的build这块一定要配置否则打jar的时候会说找不 到主类

image.png

在启动类当中加上extends SpringBootServletInitializer并重写configure方法,这是为了打包springboot项目用的。

package com.weixin;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;@SpringBootApplicationpublic class SmallsystemApplication extends SpringBootServletInitializer{    public static void main(String[] args) {
        SpringApplication.run(SmallsystemApplication.class, args);
    }    @Override//为了打包springboot项目
    protected SpringApplicationBuilder configure(
            SpringApplicationBuilder builder) {        return builder.sources(this.getClass());
    }
}

然后按照顺序运行mvn clean再mvn install,我是用idea执行的

image.png

然后就会出来我们需要的jar

image.png

然后到这个jar的根目录下执行java -jar smallsystem-0.0.1-SNAPSHOT.jar 这个执行方式windows和linux上都一样

image.png

原文发布于微信公众号 - 编程软文(zhuyuansj)

原文发表时间:2018-04-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏difcareer的技术笔记

一些实用的 gradle task

其中transformClassesWithDexForDebug会将classes合并为dex文件,存放在build\intermediates\transf...

763
来自专栏李蔚蓬的专栏

1.Android系统源代码目录与系统目录

想要看完整个Android的源代码,需要懂C、懂脚本、懂Java、软硬兼通。所以一般情况下,我们了解源代码的框架结构,出了问题知道从哪里着手解决就可以了。这就好...

1052
来自专栏Huramkin的归档库

Screen命令常见用法

722
来自专栏蓝天

将Fedora 18 LXDE安装到U盘和进入图形界面的方法

打开Universal-USB-Installer,设置如下,点“Create”将Fedora安装到U盘上:

882
来自专栏静默虚空的博客

Eclipse 实用技巧

代码智能提示 Java智能提示 Window -> Preferences -> Java -> Editor -> Content Assist -> Aut...

1907
来自专栏企鹅号快讯

使用技巧精讲

1、快速建立连接 单击顶部活动菜单栏上的“快速建立连接按钮”(Alt+Q),如图1 图1 单击按钮后,弹出图2所示的窗口 ? 图2 Protocol:默认SSH...

1945
来自专栏自由而无用的灵魂的碎碎念

查看服务时提示“一个或多个ActiveX控件无法显示”的解决方法

一个或多个ActiveX控件无法显示,原因可能是下列其中之一: 1)当前安全设置禁止运行此页面中的ActiveX控件,或 2)您已经阻止了其中一个...

953
来自专栏码神联盟

IntelliJ系列 ④ | IDEA 之 Tomcat配置全过程

883
来自专栏知识分享

Android Studio复制项目作为一个新的工程

 Failed to finalize session : INSTALL_FAILED_INVALID_APK: Split lib_slice_4_apk ...

712
来自专栏Ryan Miao

java删除文件,慎重

在处理删除图片的时候,我将图片路径从数据库取出,然后执行如下删除代码: void deleteFile(File file){ if(file!=null ...

34814

扫码关注云+社区