我创建了一个Spring Web Boot可执行jar,并配置了AWS以启动它:
$sudo chkconfig --list fake-spi-endpoint
fake-spi-endpoint 0:off 1:off 2:on 3:on 4:on 5:on 6:off
根据Spring documentation,我创建了一个具有相同名称的配置文件:
$ls -l
-rwx------ 1 ec2-user ec2-user 17024045 Jul 19 13:18 fake-spi-endpoint-1.0.0-boot.jar
-rw-r--r-- 1 ec2-user ec2-user 37 Jul 19 13:40 fake-spi-endpoint.conf
lrwxrwxrwx 1 ec2-user ec2-user 32 Jul 19 13:16 fake-spi-endpoint.jar -> fake-spi-endpoint-1.0.0-boot.jar
该配置将覆盖日志目录:
$cat fake-spi-endpoint.conf
-LOG_FOLDER=/home/ec2-user/service/logs
但是当我启动此服务时,它似乎执行配置文件内容:
$service fake-spi-endpoint start
/home/ec2-user/service/fake-spi-endpoint.conf: line 1: -LOG_FOLDER=/home/ec2-user/service/logs: No such file or directory
Started [1995]
问题出在哪里?
答案 0 :(得分:1)
在我看来,您似乎将spring boot configuration file与upstart service configuration file混淆了。
您应该在.jar所在的位置(例如/home/ec2-user/app/fake-spi-endpoint
)具有spring-boot配置文件fake-spi-endpoint.conf。
此外,您应该有一个服务配置文件,该文件告诉您如何在/home/ec2-user/service/fake-spi-endpoint.conf
中启动应用程序。该文件应包含类似
exec java -jar /home/ec2-user/app/fake-spi-endpoint/fake-spi-endpoint.jar
告诉新手如何启动您的应用程序。您将两者混为一谈,这就是为什么新贵尝试执行您的spring boot配置文件的原因。
您可以在此处阅读有关使用upstart(和其他服务管理器)启动spring boot应用程序的更多详细信息: