SpringBoot 部署到linux环境
第一部分:Springboot项目部署
说明:工具使用的是IEDA
第一:项目打包
1.在pom文件中添加插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.打包(jar)
idea的右侧有个Maven的标识,
1.点击maven -->Lifecycle -->clean,clean成功以后
2.点击maven -->Lifecycle -->install.
注意:打包的时候,所有的单元测试都会运行,如果测不通的话会报错。
3.打包成功以后,可以在cmd启动先测试一下(java -jar XXX.jar)。OK的话就可以部署啦。
第二:部署到linux
1.执行 sudo yum install lrzsz -y 命令,这个命令是将安装一个能下载、上传的软件
2.执行 rz 命令,这是上传命令,执行之后,选择文件,就可以上传了
3.执行 nohup java -jar demo-0.0.1-SNAPSHOT.jar & 命令 执行这个命令后台就可以启动这个jar包了
第二部分:部署遇到的问题以及解决方案
部署项目的时候,报错:Exception in thread "main" java.lang.UnsupportedClassVersionError
百度得知:这个一般是由于高版本编译低版本运行导致的,jdk版本不一致的问题。
解决思路:解决措施就是保证jvm(java命令)和jdk(javac命令)版本一致。
linux版本,在命令行中分别输入java -version和javac -version命令来查看版本是否一致。
结果:linux测试环境的版本是JDK1.7
解决措施:安装JDK1.8
第三部分:JDK1.8安装
准备:
1.工具 Xshell
下载地址:https://www.netsarang.com/download/down_xsh6.html?token=dlBNZDhZeXpWUGhJRGZHU201OEFNQUBlZmw1eWlFWWI5cTJHYlN2V0RZT2ZB
2.下载 linux JDK1.8
下载地址:https://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
操作:
1.执行命令:mkdir /usr/java 创建java目录,存放jdk1.8.
2.执行命令:rz 上传JDK1.8压缩包
3.执行命令:tar -zvxf jdk-8u1911-linux-x64.tar.gz 对导入的压缩包进行解压
4.执行命令:ls /usr/java/ 查看是否存在解压后的文件
5.执行命令:vim /etc/profile 修改环境变量
用vim编辑器来编辑profile文件,在文件末尾添加一下内容(按“i”进入编辑):
export JAVA_HOME=/usr/java/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export JAVA_BIN=/usr/java/jdk1.8.0_191/bin
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH} 注意:这里可能还会有其他的路径,不要动原来的,直接使用:进行分隔就OK啦
编辑完之后,执行命令 :wq! 直接保存并退出
6.执行命令:source /etc/profile 让profile文件立即生效
7.执行命令:java -version 测试是否安装成功
第四部分:切换到JDK1.8环境下部署
1.执行命令:cd /usr/java/jdk1.8.0_191/ 到jdk目录下
2.执行命令:rz 上传Springboot项目的jar包
3.执行命令:cd /usr/java/jdk1.8.0_191/bin/ 切换到bin目录下
4.执行命令:nohup ./java -jar ../xxx.jar & 启动项目
5.执行命令:ps -aux | grep 端口号 查看进程
SpringBoot 部署到linux环境的更多相关文章
- .NET 6 从0到1使用Docker部署至Linux环境
前言 作为一名.Net菜鸟开发者,平时对Linux接触的并不多,项目部署这一块都是运维小哥顶着,但是作为混迹在云原生项目组的人咱也不能什么都不知道,该掌握的知识还是要懂的,所以借着这次机会,梳理一下项 ...
- 七. jenkins部署springboot项目(4)-linux环境--远程调试
前提:linux环境,jenkins服务器和springboot服务器不在一台机器. linux环境,jenkins这里就不说了,主要说下和windows环境的不同. 1. jenkins服务器连接s ...
- mpdf部署到linux环境中遇到的问题
首先遇到的问题未:Error - mPDF requires mb_string functions. Ensure that PHP is compiled with php_mbstring.dl ...
- abp框架angular 项目docker 手动部署到Linux环境中
1.https://aspnetboilerplate.com/Templates 2.后端项目发布,在publish中abp默认已经存在DockerFile文件 3.修改后端文件中的DockerFi ...
- SpringBoot 部署到Linux开机自启动和运行
前文 SpringBoot是一个强大的微服务框架,通常都是打包项目成Jar包,并部署到服务器上,本文以Linux服务器部署为主 开机自启动 博文:<https://www.cnblogs.com ...
- Spring Cloud Eureka集群部署到Linux环境
还是三板斧:先改配置文件,支持集群,然后出包,上传到linux环境(3个节点),最后启动jar包跑起来. 1.在原eureka服务端代码(参见Greenwich.SR2版本的Spring Cloud ...
- SpringBoot部署到Linux服务器
今天来谈一下,用SpringBoot写的Demo来配置到Linux服务器. 这里,我用阿里云服务器作为实例,SpringBoot集成了SpringMvC+ mybatis 框架,用maven管理jar ...
- Springboot 部署到linux(二)
之前写了一篇部署的文章,但是打包时会运行所有的单元测试,如果不想测试的话,可以采用这种方式. 第一部分:打包 1.pom.xm添加配置 <plugin> <groupId>or ...
- spring boot打包部署到Linux环境
打包部署说白了就两步:打包.部署.废话不多说,直接拿spring boot自动生成的项目骨架,再添加一个文件用来演示: package com.crocodile.springboot; import ...
随机推荐
- SD卡两种操作模式在项目中应用的比较
1.SDIO接口传输速度比SPI接口传输速度快:2.STM32的SDIO口还真的不好用 特别是4BIT的方式 我都纠结了好久了 用1BIT的方式倒是可以 速度大概可以到读2M字节每秒(STM32F20 ...
- 小白的python之路Linux部分10/28&29
属主属组其他人对文件的rwx权限 1.userdel删东西不全,会有残留,
- Go-ethereum源码解析-Part I
1. 整体概览 makefile CANDY: .PHONY: geth android ios geth-cross swarm evm all test clean 已知phony 目标并非是由其 ...
- SQL Server数据库开发的二十一条军规
如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS).在这 ...
- 【转载】C++对象成员与构造函数
一个类的对象可以作为另一个类的数据成员,此时把该对象称为类的对象成员. 当一个类中出现对象成员时,该类的构造函数就要为对象成员初始化,对象成员的初始化必须在构造函数的初始化表中完成. 注意: 初始化对 ...
- 电脑小白和ta的小白电脑——JAVA开发环境
JAVA开发环境的搭建有一点点复杂,不过一步一步来一般不会出错. (一)下载JDK 首先我们需要下载java开发工具包JDK,可以通过官网下载:http://www.oracle.com/techne ...
- SASS学习笔记!(持续学习中..)
工具 : koala 学习网址 : http://www.w3cplus.com/sassguide/syntax.html http://sass-lang.com/documentation/ ...
- volatile 与 JVM 指令重排序
前言: 在做单例模式时 有博客在评论区 推荐使用 volatile 关键字 进行修饰 然后用了两天时间查资料看文档 发现涉及的面太广 虽然已经了解为什么要使用 volatile + synchroni ...
- "HTML编码规范" 笔记
转自学习网站(百度原创):https://github.com/ecomfe/spec/blob/master/html-style-guide.md 本文是百度培训网站上关于HTML编码规范的笔记, ...
- JDBC学习DayOne
一.相关概念 1.JDBC的定义 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它 ...