SpringBoot 打包可执行Jar并配置成Linux系统服务

  • SpringBoot 打包可执行Jar并配置成Linux系统服务已关闭评论
  • 3 views
  • A+
所属分类:运维实战

基于spring-boot 开发的项目都可以打包成可执行Jar 文件。只需要在pom.xml中配置构建插件。

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
	<configuration>
		<executable>true</executable>
		<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
	</configuration>
</plugin>

配置好之后直接运行mavenpackage 命令即刻打好可运行的jar 文件。

建立文件链接(centos6)

# centos7 不需要
ln -s /opt/myapp/myapp.jar /etc/init.d/myapp
# 执行上述命令后,就可以使用service 命令来运行了。

新建myapp.service ,放到位置/etc/systemd/system,文件内容如下:

[Unit]
Description=myapp
After=syslog.target
[Service]
User=root
ExecStart=/opt/myapp/myapp.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

然后执行命令设置开机自启:

# 设置自启,取消命令 disable
systemctl enable myapp.service
# 查看
systemctl is-enabled myapp.service

systemd 有点问题可能会导致日志乱码,解决方式是在jar 同目录放置myapp.conf 文件(注意文件名),文件内容如下:

export LANG='zh_CN.UTF-8'
# 读生产环境的配置文件
JAVA_OPTS="-Dspring.profiles.active=prod"

 

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar