服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 在Linux系统上安装Spring boot应用的教程详解

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

2022-09-05 13:30yumiaoxa Linux

这篇文章主要介绍了在Linux系统上安装Spring boot应用,本文通过实例文字相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下

Unix/Linux 服务

systemd 服务

操作过程

1. 安装了JDK的centOS7虚拟机

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

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

tar -zxvf jdk1.8.0_211.jar.gz

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

?
1
2
3
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文件的有关插件的配置。正确示例如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<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文件的信息。

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

?
1
2
3
4
5
6
7
8
9
10
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 下编写服务的配置文件,参考实例如下:

?
1
2
3
4
5
6
7
8
9
[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应用的教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://www.cnblogs.com/yumiaoxia/p/10949694.html

延伸 · 阅读

精彩推荐
  • LinuxLinux CentOS系统下tomcat配置ssl教程

    Linux CentOS系统下tomcat配置ssl教程

    这篇文章主要介绍了Linux CentOS系统下tomcat配置ssl教程,本文分为5个步骤详细讲解了配置过程,需要的朋友可以参考下 ...

    Linux教程网4392019-10-22
  • Linuxlinux中nl命令使用介绍

    linux中nl命令使用介绍

    nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设...

    linux命令大全5082019-11-19
  • Linuxlinux查看磁盘使用情况方法

    linux查看磁盘使用情况方法

    在本篇文章里小编给大家分享了关于linux查看磁盘使用情况的步骤和方法,需要的朋友们学习下。...

    laozhang6572022-08-17
  • LinuxLinux下Chrome地址栏输入卡顿该怎么办?

    Linux下Chrome地址栏输入卡顿该怎么办?

    Linux下Chrome地址栏输入卡顿该怎么办?我的Chrome浏览器设置的字体是“微软雅黑”,字体是从Windows 上拷贝的,于是就出现了地址栏卡顿,下面分享解决办法...

    互联网5642019-08-30
  • LinuxLinux 使用init命令实现关机,重启,切换模式

    Linux 使用init命令实现关机,重启,切换模式

    这篇文章主要介绍了Linux 使用init命令实现关机,重启,切换模式的相关资料,需要的朋友可以参考下...

    Linux教程网4312022-01-04
  • Linuxlinux下scp远程拷贝包含空格的目录或者文件的解决方法

    linux下scp远程拷贝包含空格的目录或者文件的解决方法

    今天需要远程拷贝一些文件到电脑上,ubuntu的。 远程电脑是debian的。 文件和目录包含大量的空格,采用scp拷贝,解决后这里记录下,免得又忘记 ...

    Linux教程网4692019-12-11
  • LinuxLinux下误删messages文件的找回方法

    Linux下误删messages文件的找回方法

    今天小编就为大家分享一篇关于Linux下误删messages文件的找回方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小...

    zsx07288142022-08-16
  • Linuxlinux swap交换内存扩容的方法

    linux swap交换内存扩容的方法

    这篇文章主要介绍了linux swap交换内存扩容的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...

    张占岭5332020-07-21