欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IDEA遠(yuǎn)程部署調(diào)試Java應(yīng)用程序的詳細(xì)流程

 更新時間:2021年10月04日 08:51:27   作者:switchvov  
這篇文章主要介紹了IDEA遠(yuǎn)程部署調(diào)試Java應(yīng)用程序,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下

基本概述

在工作中,我們可能會遇到本地?zé)o法連接開發(fā)環(huán)境數(shù)據(jù)庫等資源,但又想在本地直接開發(fā)、調(diào)試。

這時候就能通過IDEARun on ...功能實現(xiàn)。

其原理是通過SSH連上遠(yuǎn)程服務(wù)器,部署應(yīng)用到遠(yuǎn)程服務(wù)器后,本地連接上遠(yuǎn)程服務(wù)器部署的應(yīng)用。

PS:這種操作方式比在遠(yuǎn)程服務(wù)器上搭建代理服務(wù),安全性要高的多得多。

準(zhǔn)備工作

遠(yuǎn)程服務(wù)器準(zhǔn)備

安裝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

# 可以看到已經(jīng)配置好了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 ~]# 

項目準(zhǔn)備

創(chuàng)建一個SpringBoot項目

使用Spring Initializr創(chuàng)建一個SpringBoot項目,參考項目:springboot-remote-deploy-demo

創(chuàng)建一個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;
    }
}

啟動應(yīng)用,驗證結(jié)果

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:從如上步驟,可以看到已經(jīng)成功在本地執(zhí)行了,接下來就是要讓他遠(yuǎn)程部署到服務(wù)器上,并且可以調(diào)試。

應(yīng)用配置

修改應(yīng)用配置

右鍵點擊SpringbootRemoteDeployDemoApplication類旁邊的啟動符,彈出選項框,點擊Modify Run Configuration...選項,彈出界面如下圖

創(chuàng)建遠(yuǎn)程服務(wù)器

左鍵點擊Run on選項框,彈出選項框,點擊SSH...選項,彈出界面如下圖

輸入服務(wù)器地址Host,用戶名Username,點擊Next按鈕,跳轉(zhuǎn)界面如下圖

輸入密碼Password(或者使用密鑰),點擊Next跳轉(zhuǎn)界面如下圖

這一步,主要是驗證是否能登錄上服務(wù)器,以及服務(wù)器上基本環(huán)境是否安裝好,點擊Next跳轉(zhuǎn)界面如下圖

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

可以看到項目部署路徑Project path on target,JDK Home路徑JDK home path以及JDK版本JDK version都已經(jīng)設(shè)置好了,點擊Finish返回之前的界面

PS:可以自己修改部署路徑之類的配置

保存應(yīng)用配置

可以看到遠(yuǎn)程服務(wù)器已經(jīng)配置好了,點擊OK按鈕配置完成

驗證結(jié)果

本地驗證

點擊SpringbootRemoteDeployDemoApplication的啟動按鈕,在啟動日志中可以看到已經(jīng)部署到服務(wù)器上,同時也能看到本地端口63006映射到了服務(wù)器的8080端口。

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

在本地訪問映射到服務(wù)器的端口63006,也能正常訪問。

PS:可以啟動,當(dāng)然也可以進(jìn)行調(diào)試。

服務(wù)器驗證

在遠(yuǎn)程服務(wù)器上,可以看到springboot-remote-deploy-demo已經(jīng)被部署在/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 ~]#

參考文檔

Spring Initializr

springboot-remote-deploy-demo

到此這篇關(guān)于IDEA遠(yuǎn)程部署調(diào)試Java應(yīng)用程序的文章就介紹到這了,更多相關(guān)IDEA遠(yuǎn)程部署調(diào)試Java應(yīng)用程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java并發(fā)編程示例(二):獲取和設(shè)置線程信息

    Java并發(fā)編程示例(二):獲取和設(shè)置線程信息

    這篇文章主要介紹了Java并發(fā)編程示例(二):獲取和設(shè)置線程信息,本文是系列文章的第二篇,本文著重講解Thread類的幾個重要屬性,需要的朋友可以參考下
    2014-12-12
  • MyBatis SpringMVC整合實現(xiàn)步驟詳解

    MyBatis SpringMVC整合實現(xiàn)步驟詳解

    這篇文章主要介紹了MyBatis SpringMVC整合實現(xiàn)步驟詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Spring 與 JDK 線程池的簡單使用示例詳解

    Spring 與 JDK 線程池的簡單使用示例詳解

    這篇文章主要介紹了Spring 與 JDK 線程池的簡單使用,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Spring中@RefreshScope注解的處理方法詳解

    Spring中@RefreshScope注解的處理方法詳解

    這篇文章主要介紹了Spring中@RefreshScope注解的處理方法詳解,spring啟動時會調(diào)用ClassPathBeanDefinitionScanner.java類中的doScan()對包路徑下的所有class進(jìn)行掃描,獲取bean的定義,同時對bean的@RefreshScope(@Scope的父類)進(jìn)行處理,需要的朋友可以參考下
    2023-10-10
  • Java concurrency線程池之Callable和Future_動力節(jié)點Java學(xué)院整理

    Java concurrency線程池之Callable和Future_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之Callable和Future,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • IDEA?mybatis?Mapper.xml報紅的最新解決辦法

    IDEA?mybatis?Mapper.xml報紅的最新解決辦法

    這篇文章主要介紹了IDEA?mybatis?Mapper.xml報紅的解決辦法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • java map遍歷的四種方法總結(jié)

    java map遍歷的四種方法總結(jié)

    以下是我整理的關(guān)于java中map的遍歷的四種方法。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10
  • 一文詳解Java如何優(yōu)雅地判斷對象是否為空

    一文詳解Java如何優(yōu)雅地判斷對象是否為空

    這篇文章主要給大家介紹了關(guān)于Java如何優(yōu)雅地判斷對象是否為空的相關(guān)資料,在Java中可以使用以下方法優(yōu)雅地判斷一個對象是否為空,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • 一文搞懂Java常見的三種代理模式(靜態(tài)代理、動態(tài)代理和cglib代理)

    一文搞懂Java常見的三種代理模式(靜態(tài)代理、動態(tài)代理和cglib代理)

    Java中常見的三種代理模式是靜態(tài)代理模式、動態(tài)代理模式和CGLIB代理模式,本文就來給大家詳細(xì)的講解一下這三種代理模式,感興趣的小伙伴跟著小編一起來看看吧
    2023-08-08
  • Spring Cloud Consul實現(xiàn)選舉機制的代碼工程

    Spring Cloud Consul實現(xiàn)選舉機制的代碼工程

    Spring Cloud Consul 是 Spring Cloud 提供的對 HashiCorp Consul 的支持,它是一種基于服務(wù)網(wǎng)格的工具,用于實現(xiàn)服務(wù)注冊、發(fā)現(xiàn)、配置管理和健康檢查,本文給大家介紹了如何用Spring Cloud Consul實現(xiàn)選舉機制,需要的朋友可以參考下
    2024-11-11

最新評論