Java:idea打包jar包&部署到服务器过程全记录 您所在的位置:网站首页 java怎么部署到服务器上 Java:idea打包jar包&部署到服务器过程全记录

Java:idea打包jar包&部署到服务器过程全记录

2024-05-09 16:47| 来源: 网络整理| 查看: 265

关于idea打包Spring boot为可执行jar包,并部署到服务器分为以下步骤:

idea打包jar包 tmux开会话 连接远程服务器 上传文件 成功运行 1. idea打包jar包

我尝试了两种方式:分别是用idea自带的打包形式,和maven管理工具打包。

####1.1. 用idea自带的打包形式

可能存在的问题:

JAR包运行错误:“Error :Invalid or corrupt jarfile xxx.jar”。(已解决Q1)

有些项目依赖没有打进jar包,在项目目录下可以运行,但单独jar包不能运行。(未解决Q2)

主菜单栏File -> Project Structure -> Artifacts -> +(Add) -> JAR -> From modules with dependencies… -> 选择Main Class -> 选择copy to the output… -> 选择META-INF生成目录(注意放在项目目录下,不要放在默认目录,解决Q1) -> OK -> (尝试了创建libs目录,放第三方jar包,依然没有解决Q2) -> OK -> 主菜单栏Build -> Build Artifacts… -> build生成jar包。

最终结果:在该目录下java -jar xxx.jar可以运行,单独放在服务器报错。

####1.2. 用自带的maven管理工具打包

于是尝试第二种方法。作为一个spring boot项目,用idea自带的maven管理工具进行打包。步骤如下图所示,依次点击clean、compile、package和install。

获得如下图文件夹。此刻的jar包可以独立运行,没有依赖缺失的问题。

2. tmux开会话

命令介绍:Tmux (Terminal Multiplexer)是一款终端复用软件,使用它的好处一是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机,二是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题。

用tmux开一个会话,防止断开服务器连接后应用停止运行。如下为步骤及常见操作,均在命令行操作:

在mac中安装tmux 1bre install tmux 修改快捷键前缀(此处没用)

当想要使用tmux快捷键时,需要先按下快捷键前缀,然后再按下快捷键。由于键盘上Ctrl-b太远,所以修改为Ctrl-a。

将以下配置加入到tmux的配置文件~/.tmux.conf中(没有就创建一个)

12unbind C-bset -g prefix C-a 创建新的会话 1tmux new -s 获取会话列表 1tmux ls 在会话外进入会话 123tmux attach -t #ortmux a -t

可能会产生报错:

1sessions should be nested with care, unset $TMUX to force

解决办法:

1unset TMUX

然后再执行tmux attach。

回到之前的会话 1tmux attach 临时退出但不删除会话

Ctrl+a,然后d(注意先后顺序,并非同时按下)

退出并删除会话

Ctrl+a,然后x

3. 连接远程服务器

前提:有需要连接的服务器的ip、账户、密码。

打开终端,进入根目录 1sudo su - 连接服务器(输入用户名和地址) 1ssh server-username@remote-ip

如果第一次连接需要输入yes或者no确认是否连接,输入yes回车。

输入密码

连接成功

进行操作

假如要部署,首先应该查看端口占用情况:

1234#查看服务器所有端口netstat -ntlp#查看服务器指定端口是否被占用lsof -i:8080 退出服务器 1exit 4. 上传文件

我采用的SCP方式传输文件。

上传文件 12scp local-file-url server-username@remote-ip:remote-file-url#上传文件夹加-r参数 下载文件 1scp -r server-username@remote-ip:remote-file-url local-file-url

另外mac平台下可以使用sz和rz命令进行远程服务器文件的上传下载,似乎需要本机和服务器都安装lrzsz。

5. 成功运行

配置合适的端口,jar包上传到服务器之后,就可以执行啦。

1java -jar xxxxx.jar

成功执行之后,Ctrl+a|d临时退出会话,就可以一直挂着任务进程了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有