本文主要是介绍一个斜杠引起的血案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
别名 spring boot 问题一则
项目中使用spring boot框架,需要使用外部配置,使用spring.config.location配置来进行目录设置,未设置具体文件。
具体脚本如下:
#!/bin/bash
BEH_HOME=$(cd `dirname $0`/..;pwd)
echo "$BEH_HOME"
JAVA_OPTS="-server -Xms512m -Xms4096m -XX:PermSize=256M -XX:MaxPermSize=512M\-Dlogback.configurationFile=$BEH_HOME/conf/rest/timeline-logback.xml\-Dspring.config.location=$BEH_HOME/conf/timeline/"
cd $BEH_HOME/share/timeline
#正常启动使用后台方式运行
nohup java $JAVA_OPTS -jar BEH-Manager-timeline.jar > $BEH_HOME/logs/timeline-running.log 2>&1 &
#调试时使用前台方式运行
#java $JAVA_OPTS -jar BEH-Manager-Rest.jar
一次掉坑,通过官方文档解决问题。
官方文档链接:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
关键说明:
If spring.config.location contains directories (as opposed to files) they should end in / (and will be appended with the names generated from spring.config.name before being loaded, including profile-specific file names). Files specified in spring.config.location are used as-is, with no support for profile-specific variants, and will be overridden by any profile-specific properties.
这里在制定目录的情况下,强制要求要以/结束,此坑已经入过一次。
因为过于隐蔽,加上kerberos+加班,头晕脑胀,导致二次入坑,特此记录。
绝不三次入坑。
另1
帮耀蔚解决权限错位引起的问题一则,也比较诡异,特此记录。
程序应该以hadoop权限启动,所有的文件权限应该是hadoop用户权限。
但某次用root启动后,导致日志文件的权限变更。
应用程序发现日志文件不可写,直接报错退出。
日志文件没写入,导致没有日志可查,一直怀疑是配置文件的问题。
后通过直接执行java -jar,将log输出到console发现权限问题。
另2
agent logback配置文件写法注意,不能只指定路径,需要指定配置文件
-Dlogback.configurationFile=$BEH_HOME/conf/agent/logback.xml
#!/bin/bash
BEH_HOME=$(cd `dirname $0`/..;pwd)
cd $BEH_HOME/share/agent
JAVA_OPTS="-server -Xms256m -Xmx2048m -XX:PermSize=256M -XX:MaxPermSize=512M\-Dcom.sun.management.jmxremote.port=40124 -Dcom.sun.management.jmxremote.ssl=false\-Dcom.sun.management.jmxremote.authenticate=false\-Dlogback.configurationFile=$BEH_HOME/conf/agent/logback.xml"
#正常启动,使用后台方式运行
nohup java $JAVA_OPTS -cp lib -jar BEH-Manager-Agent.jar -c $BEH_HOME/conf $* >> $BEH_HOME/logs/agent-running.log 2>&1 &
#调试的时候使用前台启动方式
#java $JAVA_OPTS -cp lib -jar BEH-Manager-Agent.jar -c $BEH_HOME/conf $*
这篇关于一个斜杠引起的血案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!