• Idea远程debug操作步骤(连接服务器)


    Idea远程debug操作步骤【SpringBoot项目】

    1 创建本地SpringBoot项目

    注意,具体业务逻辑可以随意写,此处我为了简介,并没有严格按照规范来

    1.1 定义service

    @Service
    public class AddService {
    
        public int add(int a, int b){
            int sum = a + b;
            System.out.println(sum);
            return sum;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    1.2 定义controller

    @RestController
    public class TestController {
    
        @Autowired
        private AddService addService;
    
        @RequestMapping("/test")
        public String testController(){
            int a = -1;
            int b = 4;
            System.out.println("addService.add(a, b) = " + addService.add(a, b));
            return "test....";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    1.3 启动类

    @SpringBootApplication
    //@EnableMBeanExport // 自动注册MBean
    public class TestApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(TestApplication.class, args);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2 创建并配置远程连接

    2.1 在本地idea配置远程连接

    远程连接地址Host:填写自己服务器的地址即可
    端口Port:5005(默认)
    命令行参数(默认):-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    2.2 运行maven,将SpringBoot程序打包并上传启动(此处打成war包)

    在这里插入图片描述
    将打包好的war包,上传到linux服务器上

    此处我上传到了test目录下
    
    • 1

    在这里插入图片描述

    启动项目:
    在这里插入图片描述

    2.3 在本地打好断点(并以debug方式启动)

    注意:本地java代码需要与linux服务器上的保持一致【否则debug会失败】
    
    • 1

    ①在本地idea打断点
    在这里插入图片描述

    ②以debug方式启动
    在这里插入图片描述

    ③当出现Connected to the target VM,…表示与远程连接成功
    在这里插入图片描述

    ④运行成功
    在这里插入图片描述

    ⑤运行结果:
    在这里插入图片描述

    拓展 :

    ①war包与jar包区别

    jar是普通java项目打包,通常是开发时要引用通用类,达成jar包便于存放管理
    war是java web项目打包,web网站完成后,达成war包部署到服务器,目的是为了节省资源,提高效率。

    1. war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块,jar一般只是包括一些class文件,在声明了Main_class之后可以直接用java命令执行
    2. war是做好一个web应用后(通常是网站),打成包部署到容器中;jar包通常是开发时要引用通用类,打成包方便存放管理
    3. war是Sun公司提出的一种Web应用格式,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织;classes目录下包含编译好的Servlet类和Jsp或Servlet所依赖的其他类(如JavaBean)可以达成jar包放到WEB-INF的lib目录下
    JAR文件格式以ZIP文件格式为基础。与ZIP不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件
    程序,并可被类似于编译期和JVM这样的工具直接使用。
    
    • 1
    • 2
    • JAR文件:
      安全性:可以对JAR文件加上数字化签名,用于检测代码是否被篡改过
      减少下载时间:共用一个连接
      压缩:允许再压缩
      传输平台扩展:提供了向Java核心平台添加功能的方法
    • WAR文件:
      就是一个Web应用程序,建立WAR文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个war扩展名

    ②SpringBoot访问静态资源[统一配置]

    项目结构:

    在这里插入图片描述

    controller层(配置页面跳转)
    @Controller
    public class TestController {
    
        @RequestMapping("/test")
        public String test(){
            return "test.html";
    //        return "/test.html"; 此处/可不加
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    yml文件设置静态资源映射路径
    spring:
      mvc:
        static-path-pattern: /**  
        # HTTP的请求地址
      # static-path-pattern: /login/** 
      web:
        resources:
          static-locations: classpath:/static/, classpath:/templates/
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    C# 第五章『面向对象』◆第7节:多态
    【毕业季·进击的技术er】业务和技术同等重要 · 职场人工作一年的经验之谈
    HTTP协议中Gzip格式的流量分析与识别
    1、3快速格式代码
    Ubuntu下安装Teamviewer所遇certificates.crt CRLfile: none问题
    m基于MATLAB的上行链路MIMO关键技术的研究与性能分析
    flutter仿支付宝余额宝年化收益折线图
    leaflet教程039: 只显示一屏地图,设定范围不让循环延展
    android app启动卡在启动页面,无法启动。鸿蒙系统armony H4.0
    Mybatis批量插入返回主键id
  • 原文地址:https://blog.csdn.net/weixin_45565886/article/details/126662703