- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章IDEA远程部署调试Java应用程序的详细流程由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在工作中我们可能会遇到本地无法连接开发环境数据库等资源,但又想在本地直接开发、调试.
这时候就能通过IDEA的Run on ...功能实现.
其原理是通过SSH连上远程服务器,部署应用到远程服务器后,本地连接上远程服务器部署的应用.
PS:这种操作方式比在远程服务器上搭建代理服务,安全性要高的多得多.
。
[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 -versionopenjdk 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是/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_64total 180-rw-r--r-- 1 root root 1522 Jul 22 01:18 ASSEMBLY_EXCEPTIONdrwxr-xr-x 2 root root 4096 Oct 4 00:29 bindrwxr-xr-x 3 root root 132 Oct 4 00:29 includedrwxr-xr-x 4 root root 95 Oct 4 00:29 jredrwxr-xr-x 3 root root 144 Oct 4 00:29 lib-rw-r--r-- 1 root root 19274 Jul 22 01:18 LICENSEdrwxr-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_64export 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 ~]#
使用Spring Initializr创建一个SpringBoot项目,参考项目:springboot-remote-deploy-demo 。
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")@Slf4jpublic 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;@SpringBootApplicationpublic class SpringbootRemoteDeployDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringbootRemoteDeployDemoApplication.class, args); }}
$ curl http://127.0.0.1:8080/hello/worldhello world%
PS:从如上步骤,可以看到已经成功在本地执行了,接下来就是要让他远程部署到服务器上,并且可以调试.
。
右键点击SpringbootRemoteDeployDemoApplication类旁边的启动符,弹出选项框,点击Modify Run Configuration...选项,弹出界面如下图 。
左键点击Run on选项框,弹出选项框,点击SSH...选项,弹出界面如下图 。
输入服务器地址Host,用户名Username,点击Next按钮,跳转界面如下图 。
输入密码Password(或者使用密钥),点击Next跳转界面如下图 。
这一步,主要是验证是否能登录上服务器,以及服务器上基本环境是否安装好,点击Next跳转界面如下图 。
Successfully connected to root@120.78.218.44:22> pwd/rootCommand finished with exit code 0Checking 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 0Starting introspection for Java...> echo ${SHELL}/bin/bashCommand 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_64Command finished with exit code 0> java -versionopenjdk 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 0Introspection completed
可以看到项目部署路径Project path on target,JDK Home路径JDK home path以及JDK版本JDK version都已经设置好了,点击Finish返回之前的界面 。
PS:可以自己修改部署路径之类的配置 。
可以看到远程服务器已经配置好了,点击OK按钮配置完成 。
。
点击SpringbootRemoteDeployDemoApplication的启动按钮,在启动日志中可以看到已经部署到服务器上,同时也能看到本地端口63006映射到了服务器的8080端口.
$ curl http://localhost:63006/hello/worldhello 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 ~]# lltotal 4drwxr-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/worldhello world[root@switch-sz-service-test ~]#
。
Spring Initializr 。
springboot-remote-deploy-demo 。
到此这篇关于IDEA远程部署调试Java应用程序的文章就介绍到这了,更多相关IDEA远程部署调试Java应用程序内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://www.cnblogs.com/switchvov/p/15365588.html 。
最后此篇关于IDEA远程部署调试Java应用程序的详细流程的文章就讲到这里了,如果你想了解更多关于IDEA远程部署调试Java应用程序的详细流程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有以下内容: sourceSets { integrationTest { java.srcDir file('.') } } dependencies {
有没有一种简单的方法可以在 IntelliJ IDEA 中为非 Java 项目配置完全自定义的构建过程?基本上,我只需要运行一个自定义的 shell 命令,而不是任何更智能的构建过程。 最佳答案 尝试
有没有办法用快捷方式将变量拉到 try-catch 块之外?例如: 来自: try{ AbstractList t1 = new ArrayList(); } catch (Exception
当我启动 IntelliJ IDEA 时,会出现该消息,但我找不到有关该功能的任何信息以及它如何帮助我。 Enable smart keyboard internalization for IDEA.
这个问题在这里已经有了答案: 10年前关闭。 Possible Duplicate: Intellij Idea 9, what folders to check into (or not check
我的目录中有一个名为 protected.keys 的新资源文件。创建它时,我要求 IntelliJ 将其视为 properties。 相反,我想将其更改为 text 请问我该怎么做? 最佳答案 您可
我的目录中有一个名为 protected.keys 的新资源文件。创建它时,我要求 IntelliJ 将其视为 properties。 相反,我想将其更改为 text 请问我该怎么做? 最佳答案 您可
我有一个带有两个 child 的 Gradle 的 Kotlin 项目。每当我尝试在 IDEA 中打开它时,其中一个 child 会在树中显示两次。 在树中,您可以在顶层看到两个项目,grpc 和 g
我不确定这是更多 Gradle 还是 Intellij Idea 问题。在 projet 中,我使用 gradle import(从 Idea 中的 Gradle 外部模型导入)导入到 Idea,我的
我在 Gradle 多项目配置上使用 idea 插件来生成 Intellij 配置文件。目前,构建在 Gradle 中运行良好,但由于缺少 JPA 元模型源文件,它在 IDE 上给了我错误。 我的问题
我在 事件日志 中得到信息 08:54:02 无法导入 maven 项目:查看日志了解详情 在 Intellij IDEA 15CE 中哪里可以找到这个日志文件? 最佳答案 您可以从 Help 访问事
我的 IntelliJ IDEA 有问题。当我打开 Find in Path 时,它显示在第二个监视器的模态窗口中,而不是像以前一样显示在主窗口内的窗口中。无法将该窗口移动到主监视器。我不记得我是否更
我按照以下 session 中的说明安装了 IntelliJ IDEA。 Install IntelliJ IDEA as a snap package on Linux sudo snap inst
可以在 IntelliJ IDEA 中配置多种类型的终端,例如cmd、powershell、git bash 等? 最佳答案 目前不可能,但有一个相关的功能请求:https://youtrack.je
我下载了 intellij 社区版。DropToFrame 是不是只有终极版才有? 任何其他插件将此添加到 intellij 社区版 谢谢 最佳答案 Drop Frame 已重命名为 Reset Fr
每次写“todo”评论时,我都面临着写我的 vcs 当前分支名称的问题。 最近我了解了 Intellij 的“Live Templates”,使用起来非常舒服。我尝试将它应用于我的问题,但没有模板可以
有一天,我运行了一些大的东西,弹出一个窗口说堆内存内存不足,我在那个窗口中将其设置为2014M,然后单击继续。一切都很好。 但我不喜欢数字 2014,我想要它 2048。因此,我更改了 idea64.
当我尝试编辑和保存 javascript 文件时,IntelliJ 使它不可能: 无法保存 C:\Users\dev\joo-web\trunk\joo-admin-web\src\main\weba
我在一个相当大的项目中升级了 IntelliJ Idea 中的语言级别,我想找到所有已弃用的方法用法 - 我寻找所有出现的罢工。 我为 PhpStorm 找到了一个类似的问题建议的方法在哪里: 代码
我必须对使用匈牙利表示法的遗留代码(以及系统匈牙利语)进行一些维护。不幸的是,将它全部从代码库中清除对我来说是不切实际的。 本地 Eclipse 用户声称可以配置 Eclipse 以便自动生成的访问器
我是一名优秀的程序员,十分优秀!