JDK:1.8.0_212

IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE)

工程下载:https://files.cnblogs.com/files/xiandedanteng/SpringBootSample03_20190927_01.rar

如果不清楚如何做一个SringBoot工程请参考:https://www.cnblogs.com/xiandedanteng/p/11593880.html

SringBoot工程搭建完毕后,只需要再改动一下pom.xml,其目的是添加 executions节点,完整文件如下:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.hy</groupId>
    <artifactId>SpringBootSample03</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringBootSample03</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

        <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>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>

                <!-- 特地为打包添加的节点,直接拷贝到你的文件的相应位置 -->
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <!-- 特地为打包添加的节点,直接拷贝到你的文件的相应位置 -->

            </plugin>
        </plugins>
    </build>

</project>

上面两行绿色汉字注释中间就是新增的节点。

之后,就是在工程中右键点击pom.xml,然后选择Run as ->Maven build...,点完了一个对话框会跳出来。

在Goals一项中填入package,然后点Run就行,STS4一顿忙活后,你要打的包在工程下的target目录下就出来了。

打开控制台,进去这个Jar文件所在的目录,然后输入 >java -jar SpringBootSample03-0.0.1-SNAPSHOT.jar

下面是执行效果

D:\>java -jar SpringBootSample03-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.8.RELEASE)

2019-09-27 10:53:42.009  INFO 4500 --- [           main] c.e.demo.SpringBootSample03Application   : Starting SpringBootSample03Application v0.0.1-SNAPSHOT on DESKTOP-8IDBHPK with PID 4500 (D:\SpringBootSample03-0.0.1-SNAPSHOT.jar started by horn1 in D:\)
2019-09-27 10:53:42.014  INFO 4500 --- [           main] c.e.demo.SpringBootSample03Application   : No active profile set, falling back to default profiles: default
2019-09-27 10:53:43.985  INFO 4500 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2019-09-27 10:53:44.032  INFO 4500 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-09-27 10:53:44.032  INFO 4500 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.24]
2019-09-27 10:53:44.195  INFO 4500 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-09-27 10:53:44.196  INFO 4500 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2093 ms
2019-09-27 10:53:44.538  INFO 4500 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-09-27 10:53:44.826  INFO 4500 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2019-09-27 10:53:44.831  INFO 4500 --- [           main] c.e.demo.SpringBootSample03Application   : Started SpringBootSample03Application in 3.467 seconds (JVM running for 4.014)
2019-09-27 10:53:55.285  INFO 4500 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-09-27 10:53:55.287  INFO 4500 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2019-09-27 10:53:55.302  INFO 4500 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 11 ms

然后,在浏览器输入:

http://localhost:8080/test

反馈会是:

欲戴王冠,必承其重

到这里,SpringBoot工程的Jar部署方式就ok了,它的效果和在STS4里Run java application一样。

网上同类文章对这种方式的具体操作方式五花八门,有繁琐有简单,还有些已经失去了时效。所以在参考时还得花点时间寻思鉴别一下,同时做实验验证,不能盲目照搬。

-- END -- 2019年9月27日11:15:12

将一个SpringBoot工程打成jar包并在控制台执行起来的更多相关文章

  1. SpringBoot项目打成jar包后上传文件到服务器 目录与jar包同级问题

    看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了.当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用Sp ...

  2. 【转载】JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案

    JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案 本文为转载,原文地址为:https://www.cnblogs.com/adversary/p/103 ...

  3. springboot项目打成jar包后台运行在linux上

    背景:springboot2为为主体搭建的项目,直接打成jar包,上传到linux上面 启动项目:java -jar xx.jar 这样很方便,但是不能关闭窗口,否则项目就停了 后台启动: nohup ...

  4. SpringBoot项目打成Jar包时运行

    使用java -jar ***.jar执行jar包的时候,会找jar包中的main()方法. 对于SpringBoot项目的Jar包,在META-INF目录下的MANIFEST.MF文件中,Main- ...

  5. springboot工程打成war包

    1.将pom.xml中默认的jar修改为war. <packaging>war</packaging> 2.排除SpringBoot内置的Tomcat容器. <depen ...

  6. JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案

    本项目测试环境 JDK: 1.8 SpringBoot: 2.1 需求描述 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,此处 ...

  7. 将Android工程打成jar包之后对资源的调用。

    Android工程不能完整的打包成jar包.这个主要是R文件导致的,但是我们可以将除了资源文件中的所有东西都打到jar包中.Activity.View等等类. 提供jar包的同时,还需要提供资源文件. ...

  8. java工程打成jar包 - 使用maven assembly插件打包及手动打包

    在java工程打包的过程中遇到过不少问题,现在总结一下.一种是典型的maven工程打包,依赖的jar包全都在pom.xml中指定,这种方式打包很方便:另一种是依赖了本机jar包(不能通过pom.xml ...

  9. idea将springboot项目打成jar包

    1.首先,找到pom.xml,把下面的build块中的内容改成如下所示 <build> <plugins> <plugin> <groupId>org. ...

随机推荐

  1. sql 存储过程笔记2

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_Page_v2]') and OBJECTPROPE ...

  2. python中F/f表达式优于format()表达式

    F/f表达式可以解析任意类型的数据 具体实现,看下面示例: 1.解析变量 1 a = 10 3 b = 20 5 res1 = F"a+b的值:{a+b}" 7 print(res ...

  3. Linux awk命令 --三剑客老大

    Linux awk命令 --三剑客老大 基本用法: awk  [参数]  ['找谁{干啥}']  文件 参数: -F 分隔符 -v 创建或修改awk变量 OFS 输出分割符 awk显示每一列的时候分隔 ...

  4. Django的Auth模块

    1 Auth模块是什么 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码 ...

  5. 8.9.网络编程_Socket 远程调用机制

    1.网络编程 1.1.网络编程概述: 通过通信线路(有线或无线)可以把不同地理位置且相互独立的计算机连同其外部设备连接起来,组成计算机网络.在操作系统.网络管理软件及网络 通信协议的管理和协调下,可以 ...

  6. SpringData JPA 在解析实体类字段时驼峰自动添加下划线问题

    参考地址:https://my.oschina.net/javamaster/blog/2246886 SpringData JPA 使用的默认命名策略是: ImprovedNamingStrateg ...

  7. python读取csv文件的某一列或某几列

    import csvimport pandas as pd with open('D:\Data\新建文件夹\list3.2.csv','r') as csvfile: reader = csv.re ...

  8. Java一棵树

    手里有一枚java种子,刚播下,希望长出一棵参天大树. 一.Java Java线程 二.网络 三.算法 四.中间件 五.性能指标&优化 六.设计模式

  9. 【JS】类型检测

    本文首发于我的个人博客 : http://cherryblog.site/ 前言 js 中的类型检测也是很重要的一部分,所以说这篇文章我们就来讲一下怎么对 JavaScript 中的基本数据类型进行检 ...

  10. js高阶函数汇总

    map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,函数按照原始数组元素顺序依次处理元素. 注意: map() 不会对空数组进行检测. 注意: map() 不会改变原始数组. ...