欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

在Linux系统上安装Spring boot应用的教程详解

程序员文章站 2022-03-20 14:00:57
unix/linux 服务 systemd 服务 操作过程 1. 安装了jdk的centos7虚拟机 注意下载linux版本jdk的时候不能直接通过wget这种直接...

unix/linux 服务

systemd 服务

操作过程

1. 安装了jdk的centos7虚拟机

注意下载linux版本jdk的时候不能直接通过wget这种直接链接下载,否则会解压不成功,应该打开原官网,点击同意许可后点击下载(这种方式下载很慢),比较好的方式是复制下载页的地址到迅雷,通过迅雷打开该下载页,同意许可后点击下载。

下载后解压、配置环境变量

tar -zxvf jdk1.8.0_211.jar.gz

环境变量配置:/etc/profile 文件最后添加如下

export java_home=/var/java/jdk1.8.0_211
export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar
export path=$path:$java_home/bin

添加环境变量之后,执行source /etc/profile,让环境变量生效

2. 准备好要安装的spring boot应用程序

2.1 要想安装成功,尤其要注意pom文件的有关插件的配置。正确示例如下:

<build>
  <plugins>
   <plugin>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-maven-plugin</artifactid>
    <configuration>
     <mainclass>com.itsherman.dcm.application</mainclass>
     <executable>true</executable>
    </configuration>
    <executions>
     <execution>
      <goals>
       <goal>repackage</goal>
      </goals>
     </execution>
    </executions>
   </plugin>
  </plugins>
 </build>

如果只单单声明了spring-boot-maven-plugin插件,忽略了后面的配置项,那么很可能你构建的程序包(jar)移植过去启动不成功。报找不到主菜单属性错误。

上面的问题主要是因为构建的可执行jar包中有一个meta_inf文件夹,该文件夹下的manifest.mf文件描述了改程序包的主要信息,其中缺少了main-class的一行。解决办法是我们可以手动加上,或者按照上面的配置,尤其不能缺少execution的配置项,然后重新执行mvn install。重新生成jar包以后通过winrar工具打开,检查manifest.mf文件的信息。

一般完整的文件信息如下:

manifest-version: 1.0
archiver-version: plexus archiver
built-by: sherman
start-class: com.itsherman.dcm.application
spring-boot-classes: boot-inf/classes/
spring-boot-lib: boot-inf/lib/
spring-boot-version: 2.1.5.release
created-by: apache maven 3.6.0
build-jdk: 1.8.0_172
main-class: org.springframework.boot.loader.jarlauncher

没问题之后,可以尝试在本地使用java -jar myapp.jar 命令执行一下

3. 通过xftp等文件移植工具将jar包移植到【1】 步骤的虚拟机上

4. 在虚拟机上 /etc/systemd/system 下编写服务的配置文件,参考实例如下:

[unit]
description=myapp
after=syslog.target
[service]
user=hadoop
execstart=/var/java/jdk1.8.0_211/bin/java -jar /home/hadoop/myapp/dev-manager.jar
successexitstatus=143
[install]
wantedby=multi-user.target

•description: 程序的描述信息
•user: 系统用户
•execstart: 程序启动的命令

编写好改配置文件之后,保存,退出

. 启动服务

刷新服务配置信息

systemctl daemon-reload

启动服务

systemctl start myapp.service

开机启动服务

systemctl enable myapp.service

查看服务状态信息

systemctl status myapp.service

6.测试

即打开浏览器,访问服务

总结

以上所述是小编给大家介绍的在linux系统上安装spring boot应用的教程详解,希望对大家有所帮助