Java:idea打包jar包&部署到服务器过程全记录 | 您所在的位置:网站首页 › java怎么部署到服务器上 › Java:idea打包jar包&部署到服务器过程全记录 |
关于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 实验室设备网 版权所有 |