spring boot部署linux启动报错

QQ图片20170710155921.png
已邀请:

泥瓦匠BYSocket - bysocket.com

赞同来自: katkrazy lulongjun

linux 部署后台启动脚本:

nohup 命令
用途:不挂断地运行命令。

语法:nohup Command [ Arg … ][ & ]

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &到命令的尾部。

关闭应用的脚本:stop.sh
#! bin/bash
PID=$(ps -ef | grep xxx.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo App is stopped
else
echo kill $PID
kill $PID
fi


启动应用的脚本:start.sh
nohup java -jar xxx.jar --server.port=8090 &


重启应用的脚本:stop.sh
echo stop app
source stop.sh
echo start app
source start.sh


 

xiaobaxi - Fang Oba

赞同来自: katkrazy

从日志上看是META-INF下的spring.factories文件不正确?方便贴一下吗

mercyblitz - mercyblitz

赞同来自: katkrazy

应该是你的Maven resource 插件把/META-INF/spring.factories 过滤了

zhongxunking

赞同来自: katkrazy

把jar包用解压软件打开看看,spring.factory到底是什么样子
 

xingzhej - 80后工程师

赞同来自: katkrazy

这个社区还真的不错!!!

xiaobaxi - Fang Oba

赞同来自: katkrazy

方便的话,把项目上传到git或者码云,我们一起看下

lihua

赞同来自: katkrazy

直接maven打包部署:
war包部署
mvn clean install -D maven.test.skip=true
得war包如:hello.war
把target下面的war包放到服务器:如 home路径
$ cd  /home 
$ java -jar hello.war
就可以直接启动了

katkrazy

赞同来自:

我在intellj idea这个ide下可以正常启动访问,但是用这个ide导出为jar包,放到服务器上就启动失败报错了。
 

katkrazy

赞同来自:

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
这个是我pom的maven插件

katkrazy

赞同来自:

求助大婶们

katkrazy

赞同来自:

# PropertySource Loaders
org.springframework.boot.env.PropertySourceLoader=\
org.springframework.boot.env.PropertiesPropertySourceLoader,\
org.springframework.boot.env.YamlPropertySourceLoader

# Run Listeners
org.springframework.boot.SpringApplicationRunListener=\
org.springframework.boot.context.event.EventPublishingRunListener

# Application Context Initializers
org.springframework.context.ApplicationContextInitializer=\
org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer,\
org.springframework.boot.context.ContextIdApplicationContextInitializer,\
org.springframework.boot.context.config.DelegatingApplicationContextInitializer,\
org.springframework.boot.context.embedded.ServerPortInfoApplicationContextInitializer

# Application Listeners
org.springframework.context.ApplicationListener=\
org.springframework.boot.ClearCachesApplicationListener,\
org.springframework.boot.builder.ParentContextCloserApplicationListener,\
org.springframework.boot.context.FileEncodingApplicationListener,\
org.springframework.boot.context.config.AnsiOutputApplicationListener,\
org.springframework.boot.context.config.ConfigFileApplicationListener,\
org.springframework.boot.context.config.DelegatingApplicationListener,\
org.springframework.boot.liquibase.LiquibaseServiceLocatorApplicationListener,\
org.springframework.boot.logging.ClasspathLoggingApplicationListener,\
org.springframework.boot.logging.LoggingApplicationListener

# Environment Post Processors
org.springframework.boot.env.EnvironmentPostProcessor=\
org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor,\
org.springframework.boot.env.SpringApplicationJsonEnvironmentPostProcessor

# Failure Analyzers
org.springframework.boot.diagnostics.FailureAnalyzer=\
org.springframework.boot.diagnostics.analyzer.BeanCurrentlyInCreationFailureAnalyzer,\
org.springframework.boot.diagnostics.analyzer.BeanNotOfRequiredTypeFailureAnalyzer,\
org.springframework.boot.diagnostics.analyzer.BindFailureAnalyzer,\
org.springframework.boot.diagnostics.analyzer.ConnectorStartFailureAnalyzer,\
org.springframework.boot.diagnostics.analyzer.NoUniqueBeanDefinitionFailureAnalyzer,\
org.springframework.boot.diagnostics.analyzer.PortInUseFailureAnalyzer,\
org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer

# FailureAnalysisReporters
org.springframework.boot.diagnostics.FailureAnalysisReporter=\
org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter

katkrazy

赞同来自:

问题解决了。谢谢大家!
解决方案:使用maven打包,用idea这个ide打的jar包目录结构和maven打包有很大不同,有兴趣的同学可以研究一下!

要回复问题请先登录注册