欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

idea怎么配置jdk环境(idea配置jdk环境变量)

程序员文章站 2023-11-17 14:28:04
idea远程部署调试java应用程序[toc]基本概述在工作中,我们可能会遇到本地无法连接开发环境数据库等资源,但又想在本地直接开发、调试。这时候就能通过idea的run on ...功能实现。其原理...

idea远程部署调试java应用程序

[toc]

基本概述

在工作中,我们可能会遇到本地无法连接开发环境数据库等资源,但又想在本地直接开发、调试。

这时候就能通过idearun on ...功能实现。

其原理是通过ssh连上远程服务器,部署应用到远程服务器后,本地连接上远程服务器部署的应用。

ps:这种操作方式比在远程服务器上搭建代理服务,安全性要高的多得多。

准备工作

远程服务器准备

安装jdk

[root@switch-sz-service-test ~]# yum install -y java-1.8.0-openjdk-devel.x86_64

# 可以看到java的版本是1.8
[root@switch-sz-service-test ~]# java -version
openjdk version "1.8.0_302"
openjdk runtime environment (build 1.8.0_302-b08)
openjdk 64-bit server vm (build 25.302-b08, mixed mode)

配置java_home

# 可以看到java_home是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64
[root@switch-sz-service-test ~]# find / -name java 
/etc/pki/ca-trust/extracted/java
/etc/pki/java
/etc/alternatives/java
/etc/java
/var/lib/alternatives/java
/usr/bin/java
/usr/lib/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64/jre/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64/bin/java
/usr/lib/jvm/java
/usr/share/bash-completion/completions/java
/usr/share/java
[root@switch-sz-service-test ~]# ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64
total 180
-rw-r--r-- 1 root root   1522 jul 22 01:18 assembly_exception
drwxr-xr-x 2 root root   4096 oct  4 00:29 bin
drwxr-xr-x 3 root root    132 oct  4 00:29 include
drwxr-xr-x 4 root root     95 oct  4 00:29 jre
drwxr-xr-x 3 root root    144 oct  4 00:29 lib
-rw-r--r-- 1 root root  19274 jul 22 01:18 license
drwxr-xr-x 2 root root    204 oct  4 00:29 tapset
-rw-r--r-- 1 root root 155003 jul 22 01:18 third_party_readme

# 配置java_home
[root@switch-sz-service-test ~]# vim /etc/profile

# 在最后面添加上如下语句
java_home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64
export java_home

# 可以看到已经配置好了java_home了
[root@switch-sz-service-test ~]# source /etc/profile
[root@switch-sz-service-test ~]# echo $java_home
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64
[root@switch-sz-service-test ~]# 

项目准备

创建一个springboot项目

使用spring initializr创建一个springboot项目,参考项目:
springboot-remote-deploy-demo

idea怎么配置jdk环境(idea配置jdk环境变量)

创建一个controller类

package com.switchvov.springboot.remote.deploy.demo.controller;

import lombok.extern.slf4j.slf4j;
import org.springframework.web.bind.annotation.getmapping;
import org.springframework.web.bind.annotation.pathvariable;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;

/**
 * @author switch
 * @since 2021/10/3
 */
@restcontroller
@requestmapping("/hello")
@slf4j
public class hellocontroller {
    @getmapping("/{name}")
    public string hello(@pathvariable("name") string name) {
        string hello = "hello " + name;
        log.info(hello);
        return hello;
    }
}

启动应用,验证结果

package com.switchvov.springboot.remote.deploy.demo;

import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;

@springbootapplication
public class springbootremotedeploydemoapplication {
    public static void main(string[] args) {
        springapplication.run(springbootremotedeploydemoapplication.class, args);
    }
}
$ curl http://127.0.0.1:8080/hello/world
hello world%

ps:从如上步骤,可以看到已经成功在本地执行了,接下来就是要让他远程部署到服务器上,并且可以调试。

应用配置

修改应用配置

idea怎么配置jdk环境(idea配置jdk环境变量)

右键点击
springbootremotedeploydemoapplication
类旁边的启动符,弹出选项框,点击modify run configuration...选项,弹出界面如下图

创建远程服务器

idea怎么配置jdk环境(idea配置jdk环境变量)

左键点击run on选项框,弹出选项框,点击ssh...选项,弹出界面如下图

idea怎么配置jdk环境(idea配置jdk环境变量)

输入服务器地址host,用户名username,点击next按钮,跳转界面如下图

idea怎么配置jdk环境(idea配置jdk环境变量)

输入密码password(或者使用密钥),点击next跳转界面如下图

idea怎么配置jdk环境(idea配置jdk环境变量)

这一步,主要是验证是否能登录上服务器,以及服务器上基本环境是否安装好,点击next跳转界面如下图

successfully connected to root@120.78.218.44:22

> pwd
/root
command finished with exit code 0


checking rsync connection...
/usr/bin/rsync -n -e "ssh -p 22 " root@120.78.218.44:

root@120.78.218.44's password: 


dr-xr-x---         190 2021/10/04 00:56:11 .

process finished with exit code 0


starting introspection for java...
> echo ${shell}
/bin/bash
command finished with exit code 0
> echo ${java_home}
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64
command finished with exit code 0
> java -version
openjdk version "1.8.0_302"
openjdk runtime environment (build 1.8.0_302-b08)
openjdk 64-bit server vm (build 25.302-b08, mixed mode)
command finished with exit code 0

introspection completed
idea怎么配置jdk环境(idea配置jdk环境变量)

可以看到项目部署路径project path on target,jdk home路径jdk home path以及jdk版本jdk version都已经设置好了,点击finish返回之前的界面

ps:可以自己修改部署路径之类的配置

保存应用配置

idea怎么配置jdk环境(idea配置jdk环境变量)

可以看到远程服务器已经配置好了,点击ok按钮配置完成

验证结果

本地验证

idea怎么配置jdk环境(idea配置jdk环境变量)

点击
springbootremotedeploydemoapplication
的启动按钮,在启动日志中可以看到已经部署到服务器上,同时也能看到本地端口63006映射到了服务器的8080端口。

$ curl http://localhost:63006/hello/world
hello world%

在本地访问映射到服务器的端口63006,也能正常访问。

ps:可以启动,当然也可以进行调试。

服务器验证

在远程服务器上,可以看到
springboot-remote-deploy-demo
已经被部署在/root路径下了,且访问
http://127.0.0.1:8080/hello/world
会正确返回hello world

[root@switch-sz-service-test ~]# pwd
/root
[root@switch-sz-service-test ~]# ll
total 4
drwxr-xr-x 38 root root 4096 oct  4 01:08 springboot-remote-deploy-demo
[root@switch-sz-service-test ~]# curl http://127.0.0.1:8080/hello/world
hello world[root@switch-sz-service-test ~]#