19. 运行你的应用程序

将你的应用程序打包为jar并使用嵌入式HTTP服务器的最大优点之一是,你可以像对待其他应用程序一样运行应用程序,调试Spring Boot应用程序也很简单,你不需要任何特殊的IDE插件或扩展。

本节只讨论基于jar的打包,如果你选择将应用程序打包为war文件,则应该参考服务器和IDE文档。

19.1 从IDE运行

你可以从IDE运行Spring Boot应用程序作为简单的Java应用程序,但是,你首先需要导入你的项目,导入步骤取决于你的IDE和构建系统。大多数IDE可以直接导入Maven项目,例如,Eclipse用户可以从File菜单选择文件Import…​ → Existing Maven Projects

如果不能直接将项目导入到IDE中,那么可以使用构建插件生成IDE元数据,Maven包含Eclipse和IDEA的插件,Gradle提供各种ide的插件。

如果你不小心运行了两次web应用程序,你你会看到一个“Port already in use”错误,STS用户可以使用Relaunch按钮而不是run按钮来确保任何现有实例都已关闭。

19.2 作为一个打包的应用程序运行

如果你使用Spring Boot Maven或Gradle插件来创建一个可执行jar,你可以使用java -jar运行你的应用程序,如下面的例子所示:

$ java -jar target/myapplication-0.0.1-SNAPSHOT.jar

还可以运行具有远程调试支持的打包应用程序,这样做可以将调试器附加到你的打包应用程序中,如下面的示例所示:

$ java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n \-jar target/myapplication-0.0.1-SNAPSHOT.jar

19.3 使用Maven插件

Spring Boot Maven插件包含一个可以用来快速编译和运行应用程序的run目标,应用程序以exploded的形式运行,就像它们在IDE中所做的那样。下面的示例显示了运行Spring Boot应用程序的典型Maven命令:

$ mvn spring-boot:run

你可能还希望使用MAVEN_OPTS操作系统环境变量,如下例所示:

$ export MAVEN_OPTS=-Xmx1024m

19.4 使用Gradle插件

Spring Boot Gradle插件还包括一个bootRun任务,它可以用来以一个exploded的形式运行你的应用程序。每当你应用org.springframework.bootjava插件时,都会添加bootRun任务,如下例所示:

$ gradle bootRun

你可能还想使用JAVA_OPTS操作系统环境变量,如下例所示:

$ export JAVA_OPTS=-Xmx1024m

19.5 热插拔

由于Spring Boot应用程序只是普通的Java应用程序,所以JVM热插播应该在这个框外工作。JVM热插播在一定程度上限制了它可以替换的字节码,对于更完整的解决方案,可以使用JRebel。

spring-boot-devtools模块还包括支持应用程序快速重启,请参见20节,“开发者工具”部分和热插拔“How-to”的细节。


上一篇:Spring bean和依赖项注入

下一篇:开发者工具

Spring Boot 参考指南(运行你的应用程序)相关推荐

  1. Spring Boot参考指南

    Spring Boot参考指南 作者 菲利普·韦伯,戴夫 Syer,约什 长,斯特凡 尼科尔,罗布 绞车,安迪·威尔金森,马塞尔 Overdijk,基督教 杜普伊斯,塞巴斯蒂安·德勒兹,迈克尔·西蒙斯 ...

  2. Spring Boot 参考指南(使用NoSQL技术)

    30. 使用NoSQL技术 Spring Data提供了额外的项目,帮助你访问各种NoSQL技术,包括:MongoDB,Neo4J,Elasticsearch,Solr,Redis,Gemfire,C ...

  3. spring boot项目 中止运行 最常用的几种方法

    spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...

  4. spring boot编写并运行HelloWorld服务接口

    spring boot编写并运行HelloWorld服务接口 在主程序上要加包扫描注解@ComponentScan("com.example.demo1") package com ...

  5. 使用pm2来保证Spring Boot应用稳定运行

    使用pm2来保证Spring Boot应用稳定运行 原作者:dulingyulove  原文链接:https://www.bbsmax.com/A/KE5QmgZ35L/ Spring Boot开发w ...

  6. Spring Boot注解的运行原理

    Spring Boot 是一个基于 Spring Framework 的开源框架,通过简化配置和开发过程,使 Spring 应用程序的开发变得更加快速和便捷.在 Spring Boot 中,注解是非常 ...

  7. erp开发和java开发区别_Java程序员求职必学:Spring boot学习指南!

    黑马程序员上海中心 学姐微信:CZBKSH 关注 咳咳,今天学姐就来和你们说说Spring对于Java程序员的重要性. 首先,Spring 官网首页是这么介绍自己的--"Spring: th ...

  8. Spring boot 实战指南(二):Mybatis、动态绑定、多数据源、分页插件、Mybatis-Plus

    文章目录 一.整合Mybatis 1.搭建数据库环境 2.基于注解整合Mybatis (1)创建项目 (2)具体代码实现 (3)测试 3.基于xml整合Mybatis 4.Mybatis的动态SQL ...

  9. Spring Boot 参考文档翻译part3

    3.使用Spring Boot 本节将详细介绍如何使用Spring Boot.它涵盖了构建系统.自动配置以及如何运行应用程序等主题.我们还将介绍一些Spring Boot最佳实践.尽管Spring B ...

最新文章

  1. 【MongoDB异常】Exception authenticating MongoCredential解决方法
  2. java clone 报错_创建ArrayList对象时显示CloneNotSupportedException错误
  3. mysql8.0client_navicat 连接mysql8.0 报错client does not support authentication
  4. 基于java封装的语言_封装在java中的应用
  5. 通过JConsole查看本地远程虚拟机
  6. loadrunner性能测试步骤
  7. RabbitMQ在Windows环境下部署(简单有效)
  8. Ubuntu18.04 ROS melodic 版本的rivz教程
  9. “在格力干到退休,这套房就给你了!”董明珠称将投放3700套人才房…
  10. Ubuntu下OpenResty 搭建高性能服务端
  11. 使用IDM继续下载会话过期的文件
  12. LabVIEW2018工具包分享
  13. 视觉三维重建核心算法讲解和代码实现(sfm构建稀疏地图和mvs构建稠密地图)...
  14. 清华镜像下载pytorch 2022-06-23
  15. C语言标识符有哪三类
  16. 【C++】多线程同步
  17. 常用数据库的基因ID
  18. 计算机睡眠状态游戏还在运行,win10睡眠主机还在运行正常嘛_win10睡眠模式主机还运行如何处理-win7之家...
  19. MySQL 分库拆表方案
  20. 多线程与高并发 笔记,非面向初学者 二:java引用,高并发多线程容器,线程池

热门文章

  1. 高并发编程-自定义简易的线程池(1),体会原理
  2. C++五子棋(一)——开发环境
  3. 爬虫学习笔记(十)—— Scrapy框架(五):下载中间件、用户/IP代理池、settings文件
  4. plsql如何连接oracle11g_PLSQL连接Oracle11G图文教程(含PLSQL配置文件)
  5. idea学生认证用了一年后过期了怎么办?
  6. Halcon知识 : 乘法图像融合
  7. renderthread是什么_Android 旗舰机标配的高帧屏(120Hz),对各位 App 开发者有什么影响?...
  8. 计算机科学与技术的深度研究,专业深度分析--计算机科学与技术.docx
  9. python小知识点
  10. easyui复杂表单_EasyUI中实现form表单提交的示例分享