记一次supervisor启动java程序出现的问题
supervisor ERROR (spawn error)
(Springboot项目)今天把项目代码提交上去后,突然发现gitlab CI/CD报错了,项目没有跑起来,赶紧去看了下日志:/var/log/supervisor/
目录下面,看了一圈,啥问题都没发现,日志里都是些没有什么大用的信息。
赶紧用命令看下详细日志
supervisorctl tail snow stdout
,输出下snow程序的日志
看着这些信息,还是有些懵,看了下网上的资料,可能是maven打包工具的问题,我一看jar包,好家伙,才200KB不到,顿时醒悟了(提交代码时动了些打包工具的依赖,厚礼蟹)。
赶紧去pom.xml中把配置加回来了
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
本地重新打包下,发现jar包大小正常了,重新发布一次,欧克了,程序正常启动了。
可能还会遇到 xxx/java: No such file or directory
这种很显然就是启动java程序遇到的问题,启动java程序报错,一般应该是环境变量的问题,但是可能已经配置了/etc/profile
却没用,因为supervisor启动时不会加载/etc/profile
,可以在子程序中配置环境变量
[program:snow]
environment = JAVA_HOME="/opt/jdk/"
...
或者启动java程序时以绝对路径进行启动也阔以。