第一部分: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环境的更多相关文章

  1. .NET 6 从0到1使用Docker部署至Linux环境

    前言 作为一名.Net菜鸟开发者,平时对Linux接触的并不多,项目部署这一块都是运维小哥顶着,但是作为混迹在云原生项目组的人咱也不能什么都不知道,该掌握的知识还是要懂的,所以借着这次机会,梳理一下项 ...

  2. 七. jenkins部署springboot项目(4)-linux环境--远程调试

    前提:linux环境,jenkins服务器和springboot服务器不在一台机器. linux环境,jenkins这里就不说了,主要说下和windows环境的不同. 1. jenkins服务器连接s ...

  3. mpdf部署到linux环境中遇到的问题

    首先遇到的问题未:Error - mPDF requires mb_string functions. Ensure that PHP is compiled with php_mbstring.dl ...

  4. abp框架angular 项目docker 手动部署到Linux环境中

    1.https://aspnetboilerplate.com/Templates 2.后端项目发布,在publish中abp默认已经存在DockerFile文件 3.修改后端文件中的DockerFi ...

  5. SpringBoot 部署到Linux开机自启动和运行

    前文 SpringBoot是一个强大的微服务框架,通常都是打包项目成Jar包,并部署到服务器上,本文以Linux服务器部署为主 开机自启动 博文:<https://www.cnblogs.com ...

  6. Spring Cloud Eureka集群部署到Linux环境

    还是三板斧:先改配置文件,支持集群,然后出包,上传到linux环境(3个节点),最后启动jar包跑起来. 1.在原eureka服务端代码(参见Greenwich.SR2版本的Spring Cloud ...

  7. SpringBoot部署到Linux服务器

    今天来谈一下,用SpringBoot写的Demo来配置到Linux服务器. 这里,我用阿里云服务器作为实例,SpringBoot集成了SpringMvC+ mybatis 框架,用maven管理jar ...

  8. Springboot 部署到linux(二)

    之前写了一篇部署的文章,但是打包时会运行所有的单元测试,如果不想测试的话,可以采用这种方式. 第一部分:打包 1.pom.xm添加配置 <plugin> <groupId>or ...

  9. spring boot打包部署到Linux环境

    打包部署说白了就两步:打包.部署.废话不多说,直接拿spring boot自动生成的项目骨架,再添加一个文件用来演示: package com.crocodile.springboot; import ...

随机推荐

  1. unity中编辑器直接截屏代码

    using UnityEngine; using System.Collections; using System.Windows.Forms; public class screenshots : ...

  2. 开发一个简单的chrome插件-解析本地markdown文件

    准备软件环境 1. 软件环境 首先,需要使用到的软件和工具环境如下: 一个最新的chrome浏览器 编辑器vscode 2. 使用的js库 代码高亮库:prismjs https://prismjs. ...

  3. Django知识总结(二)

    拾 ● 模型(M) 一 ● ORM(对象关系映射, Object Relational Mapping) 类----一张表 类的实例对象----表中的一条记录 映射关系 ①python的类名对应的SQ ...

  4. anytime

    #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<sys/time.h> ...

  5. namespace的作用

    namespace的用法 1.什么是命名空间 通常我们学c++的时候经常看见头文件下有一句using namespace std,有什么用呢? 例如: #include<iostream> ...

  6. python笔记27-time模块

    import datetime, time#一种是时间戳.一种是格式化时间.一种是时间元组# print(time.timezone) # 和标准时间相差的时间,单位是sprint(int(time. ...

  7. Exploit-Exercises nebule 旅行日志(五)

    接着上次的路程继续在ubuntu下对漏洞的探索练习,这次是level04了 先看下level04的问题描述: (level4.c) #include <stdlib.h> #include ...

  8. bootstrap-fileinput多图片上传

    在页面写一个input框: <input id="subGraphAddress1" name="subGraphAddress" type=" ...

  9. 信号single

    信号 Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 Model signals pre ...

  10. C++面试笔记(3)

    20. 浅拷贝与深拷贝 如何理解C++中的浅拷贝与深拷贝 深拷贝和浅拷贝 在进行对象拷贝时,当对象包含对其他资源的引用,如果需要拷贝这个独享所引用的对象,那就是深拷贝,否则就是浅拷贝 *** 21.构 ...