项目一般都是部署在 Linux 服务器,但是开发一般是在本机 windows 电脑进行开发,开发完成后打包,然后将 jar 包同步到服务器中进行运行。
如何更方便地进行远程开发?
可以使用 IDEA 进行远程开发部署。
Linux 服务器环境准备
Linux 服务器需要具备运行程序的基本环境。
需要安装 jdk 和 maven
Maven 安装
yum install maven
[root@miykah /]# java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
[root@miykah /]# mvn -version
Apache Maven 3.0.5 (Red Hat 3.0.5-17)
Maven home: /usr/share/maven
Java version: 1.8.0_361, vendor: Oracle Corporation
Java home: /opt/install/jdk1.8.0_361/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.95.1.el7.x86_64", arch: "amd64", family: "unix"
同时检查一下当前电脑和服务器/虚拟机的网络联通情况。ping 一下
IDEA 配置
点击 Tools -> Deployment -> Configuration,新建 SFTP 连接
点击 Tools -> Deployment -> Browse Remote Host,就能看到远程服务器的文件。
点击 Tools -> Deployment -> Configurations -> Mappings, 添加映射,将当前项目与远程服务器进行映射。
右键当前项目,点击 Deployment -> Sync with Deployed to ...,即可将代码同步到远程服务器。
远程部署运行
打开 terminal 连接到远程服务器,进入项目目录
执行
mvn spring-boot:run
,可以看到项目已经在远程服务器运行。
如果执行过程中,出现一些 maven 插件版本问题,则修改项目的 pom.xml 文件,比如我第一次运行的时候,失败,是因为一些 maven plugin 和 服务器的 maven 版本不匹配的问题。进行相应的修改即可。
打包:执行
mvn package
,打包成功就可在远程服务器找到 jar 包
运行 jar 包,执行
java -jar /opt/code/ojsystem-codesandbox/target/ojsystem-codesandbox-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
远程开发
前面的方式,是在本地 windows 系统上开发,然后同步代码到 linux 服务器。那么如何能够直接进行远程开发,直接在 linux 上进行代码开发,而不是同步的方式?
File -> Remote Development
新建一个 SSH 连接
选择 IDE 和远程项目路径
下载并启动 IDE,就会在 windows 电脑上启动一个IDE新窗口,直接进行远程开发,修改的是远程服务器上的代码
在远程服务器修改了代码,也可以点击本地 windows idea 中的 Tools -> Deployment -> Sync ... 将远程服务器的代码一键同步到本地
评论区