第一次部署spring boot 到linux上,用命令java -jar **.jar,发现应用自动退出,进程停止了.后来发现要不挂断的执行命令,忽略所有的挂断信号,用以下命令解决 nohup java -jar **.jar& nohup: 不挂断的执行命令,忽略所有的挂断信号. 运行后台命令 最后加 & 在jar目录下会生成一个nohup.out文件,默认的log输出到这里.…
简介 大家可能都听说过开发Node.js应用时可以使用多种工具对开发者提供便利,如WebPack提供了开发者服务器来支持js应用动态更替,并在保存文件时自动刷新浏览器.Spring Boot也提供了相似的开发者工具,让我们更快速.更舒心的开发Spring Boot应用.大家看完本教程就可以学会如何如用Spring Boot开发者工具进行自动重启和自动刷新页面. 自动重启原理 Spring Boot的开发者工具会为应用创建两个classloader.一个是用来加载不会变动的类,称为base cla…
本文首发于个人网站: 在Spring Boot实战之定制自己的starter一文最后提到,触发Spring Boot的配置过程有两种方法: spring.factories:由Spring Boot触发探测classpath目录下的类,进行自动配置: @Enable:有时需要由starter的用户触发*查找自动配置文件的过程. 实战 接着上篇文章的例子,首先将spring.factories中的内容注释掉 #org.springframework.boot.autoconfigure.Enabl…
前面写了两篇文章 <Spring Boot自动配置的魔法是怎么实现的>和 <Spring Boot起步依赖:定制starter>,分别分析了Spring Boot的自动配置和起步依赖.在感慨Spring Boot的方便之余,也不禁产生了一点疑惑,Spring Boot 内部究竟是怎么触发自动配置和起步依赖的? 先看下面这段代码,我们只需要调用SpringApplication.run()方法就能启动整个Spring应用. @SpringBootApplication public…
Spring Boot 部署 一.使用命令行java -jar 常驻 nohup java -jar spring-boot-1.0-SNAPSHOT.jar > log.file 2>&1 & 其中spring-boot-1.0-SNAPSHOT.jar为上传的jar包名 关闭通过ps -aux | grep spring 找到pid.用kill -9 [pid]结束进程 二.使用Linux服务的方式启动.停止.重启 1.首先在 pom.xml 中配置插件 <build…
此文为转载:http://mrlee23.iteye.com/blog/2047968 在开发调试完成之后,可以将应用打成JAR包的形式,在Eclipse中可以直接使用Maven插件的package命令,最终会形成一个可运行的 JAR包.我们使用java –jar命令就可以运行这个JAR包了.Myeclipse的Maven的package请参考(http://mrlee23.iteye.com/blog/2047946 )所呈现出的效果与在调试期是一样的.现在看一下这个JAR包解压后的目录结构:…
原文:https://my.oschina.net/sdlvzg/blog/1562998 我们都知道springBoot中已经内置了tomcat,是不需要我们额外的配置tomcat服务器的,但是有时这也可能是我们的一个瓶颈,因为如果我们需要对tomcat做集群或者一些优化的话是非常不方便的,所以我们仍然需要将springBoot的项目部署到外在的tomcat中,本文档主要介绍一下如何将jar包转换成war包. 第一步.将SpringBoot的项目的打包方式设置为war,修改pom.xml文件如…
1.右击项目,选择Run As - Maven clean 2.右击项目,选择Run As - Maven install 3.成功后 会在项目的target文件夹下生成jar包 4.将打包好的jar包 发布到服务器,运行java -jar jar包 5.或者使用命令nohup java -jar jar包,nohup命令可以后台启动jar,如果 直接运行 java -jar 则关闭终端,spring的进程也会关闭 maven install 相当于 maven 的原生命令 mvn instal…
自动配置Validation当应用中的Classpath下存在javax.validation的实现时,Spring Boot的org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration将会自动配置用于validate的LocalValidatorFactoryBean,前提是在用户没有自己定义javax.validation.Validator类型的bean的情况下,LocalValidatorFa…
用命令启动spring boot 项目,一旦终端命令窗口关闭,项目也就关闭了,所以我们采用脚本的方式来运行jar 正常命令 java -jar xxx.jar 脚本启动,vim 创建 start.sh #!/bin/sh rm -f tpid nohup java -jar /data/app/myapp.jar --spring.profiles.active=stg > /dev/null 2>&1 & echo $! > tpid 脚本关闭 tpid=`cat tp…
spring boot用layout ZIP打出来的包能够支持外部classpath,但是当用rar/7zip替换其中的jar后,报下列错误: Unable to open nested entry 'BOOT-INF/lib/cache-api-0.4.jar'. It has been compressed and nested jar files must be stored without compression. 解决方法: jar包可以替换的,过程如下:jar -xvf ta-bas…
说明: 在spring boot中如果定义了自己的java配置文件,并且在文件上使用了@EnableWebMvc 注解,那么sprig boot 的默认配置就会失效.如默认的静态文件配置路径:"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/",将失效.而有效的配置将只有自己写的…
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端. 这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发.Android开发或是Web开发等.为了减少与其他团队平时开发期间的频繁沟通成本,传统做法我们会创建一份RESTf…
@Configuration和@Bean Spring提供了注解@Configuration和@Bean注解用来配置多个Bean,在以前的Spring项目中可以通过xml的方式配置: <beans> <bean id=”xxxBean” class="aaa.bbb.xxxBean"></bean> </beans> 采用Configuration注解的方式如下: //@SpringBootConfiguration @Configura…
小插曲:通过cmd运行startup.bat,cmd界面显示乱码 解决方法:进入tomcat目录,conf文件夹,用编辑器打开logging.properties 将java.util.logging.ConsoleHandler.encoding = UTF-8 改为 GBK 然后就正常显示日志了 下面示例打包war部署发布 首先,为tomcat修改一个独立的端口,防止和其它端口冲突 进入tomcat目录,打开conf文件夹,打开server.xml 三个地方都改下,比较靠谱 原8080,这里…
一.在pom.xml文件中进入mybatis自动生成代码相关的jar包: 注意: <configurationFile>标签中配置的是“generatorConfig.xml”文件位置. 二.修改项目配置文件application.properties: 三.创建generatorConfig.xml 文件位置是上面POM文件配置的路径. <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE g…
用于在Jenkins将jar发送到目标节点之后的部署操作, 包含deploy, start, stop, restart功能. 在deploy时会自动备份原jar至指定目录 # Please define the absolute path of tomcat instance JAVA_HOME=/opt/java/jdk1.8.0_101 RUN_BASE=/home/tomcat/run BUILD_FOLDER=/home/tomcat/builds ARCHIVE_FOLDER=/ho…
参考:用winsw让任何Windows程序都能运行为服务 简介在linux下部署springboot项目是一件很简单的事,直接后台运行就行了,最多写个shell脚本开机自启就行了.我们最近做的项目需要在windows上部署,在windows上运行jar有一个问题,运行的时候会弹出一个cmd窗口,并且不能关闭,关闭的话程序就停止了.spring官方推荐使用winsw来将springboot项目作为服务运行,参考https://docs.spring.io/spring-boot/docs/1.5.…
1.依赖包输出 记得禁用热加载 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>install</phase> <goals…
EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置? @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @Configuration @ConditionalOnWebApplication @Import(BeanPostProcessorsRegistrar.class) //导入BeanPostProcessorsRegistrar:Spring注解版:给容器中导入一些组件 //…
start(){ now=`date "+%Y%m%d%H%M%S"` exec java -Xms256m -Xmx512m -jar /alidata/server/webapps/zooktrip.jar 5 >"$now"_bidcheck.log & #java -Xms128m -Xmx2048m -jar test2.jar 5 > log.log & #tail -f result.log } #停止方法 stop(){…
前提: jar包路径:/usr/local/lib/app/app.jar 1.首先先用vi创建文件 命令: cd /usr/local/lib/app/vi app-start.sh 2.在文件app-start.sh中写入 java -jar app.jar 在保存一下:wq! 3.给文件 chmod 777 myjar-start.sh 权限 4.然后在/etc/rc.local 文件追加命令 cd /usr/local/lib/appsh app-start.sh & 注:& 表示…
1)准备demo 2)打开idea项目结构 3)添加 4)按顺序 6)bulid 7)完成  查看out文件…
把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二.移除嵌入式tomcat插件 在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码, <dependency> <groupId>org.springframework.boot</groupId> <artifactId&…
1. 修改pom文件原来是jar改成<packaging>war</packaging> 2. 在pom文件中添加移除内置tomcat并且添加添加servlet-api的依赖. <!--war包部署需要--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId&…
使用th:fragment  定义模板 使用 th:replace  来添加模板到需要的地方. 使用时发现一个非常奇怪的问题. 本机idea 调试环境一切正常, 但是打成jar包以后报错,提示找不到对应的模板文件. 而且只是这个一个,网上查的配置文件和去掉路径前面的"/"都不好使, 最后经过一番折腾发现是我模板的名字在引用的时候大小写有一个字母和模板名字不一样 如图S  字母一个大写一个小写 这样的问题我真的不知道该说什么了 .再次留记.  …
jenkins中自动构建helpcenter.jar文件,然后以在server上以shell脚本的形式启动jar服务.jenkins构建后,手动执行sh脚本,服务启动异常.但jenkins结合shell一起使用的话,jenkins的console中显示正常启动,但server中服务并未启动. 排错的过程总是异常的艰辛,你懂的. shell脚本如下: #!/bin/sh #defined export JAVA_HOME=/usr/java/jdk1.7.0_79 MID=`ps -ef |gre…
后台运行的进程不会受到任何键盘的影响,包括试图用来中断它的 Ctrl-C 键.想要使得进程返回到前台来运行,可以使用 fg 命令来实现. 可以通过在 fg 命令后面加上百分比符号和作业编号(称为 jobspec 选项)将指定编号的任务切换到前台运行.如果后台只有一个任务,那么可以不带 jobspec 选项. 命令格式 fg [job_spec] bg [job_spec ...] 实例 a) 将编号为 1 的后台任务切换到前台运行. [huey@huey-K42JE ~]$ ping examp…
前言 spring Boot中引入了自动配置,让开发者利用起来更加的简便.快捷,本篇讲利用RabbitMQ的自动配置为例讲分析下Spring Boot中的自动配置原理. 在上一篇末尾讲述了Spring Boot 默认情况下会为ConnectionFactory.RabbitTemplate等bean,在前面的文章中也讲到嵌入的Tomcat默认配置为8080端口 这些都属于Spring Boot自动配置的范畴,当然其自动配置相当多. EnableAutoConfiguration注解 在创建App…