Java 热插拔/DCEVM不';t在Intellij IDEA中工作(社区版)

Java 热插拔/DCEVM不';t在Intellij IDEA中工作(社区版),java,intellij-idea,intellij-14,hotswap,dcevm,Java,Intellij Idea,Intellij 14,Hotswap,Dcevm,我在使用Intellij IDEA社区版本中的热交换功能时遇到困难。我的是v14.1.4 每次启动调试并更改java代码后,我都会单击RebuildProject并在确认重新加载类时按“Yes”。Intellij报告重新加载更改的类,但应用程序结果与以前相同。我只是在尝试最简单的Java应用程序(即,不在Tomcat、applet等场景中),只使用System.out.println、string concats等内容。我在调试模式中更改的只是方法体代码,而不是方法签名/名称。我搞不懂 在Ecl

我在使用Intellij IDEA社区版本中的热交换功能时遇到困难。我的是v14.1.4

每次启动调试并更改java代码后,我都会单击RebuildProject并在确认重新加载类时按“Yes”。Intellij报告重新加载更改的类,但应用程序结果与以前相同。我只是在尝试最简单的Java应用程序(即,不在Tomcat、applet等场景中),只使用
System.out.println
、string concats等内容。我在调试模式中更改的只是方法体代码,而不是方法签名/名称。我搞不懂

在Eclipse中,我只需直接更改代码并按save,然后它就可以工作了

出了什么问题

(备注:

事实上,我正在尝试使用DCEVM,它使结构更改成为可能(例如更改类名、方法名、添加方法等),我认为它可以解决Intellij中的热交换问题。不用说,它不起作用

在eclipse中,我成功地使用了DCEVM,并且可以在调试期间更改方法名称

我进一步尝试了hotswap代理,但它仍然不起作用;我看到一篇文章说IDE必须通过端口5000连接到JVM,但无论我如何尝试,Intellij console显示它仍然通过随机端口连接(下面的51018):

已连接到目标VM,地址:'127.0.0.1:51018',传输:'socket'

是否可以强制它通过一个特定端口连接?
在运行/调试配置中添加
DEBUG\u OPT
环境变量无效)

在从Jetbrains找到一个反馈后,发现这是Intellij的设计行为:

换句话说,问题与我如何测试热交换有关:

public class Main {
//    /*
    public static String getName() {
        return "James"; // <=== (2)
    }

    //*/
    public static void main(String[] args) {
        System.out.println("Hello " + getName()); // <=== (1)
    }
}
公共类主{
//    /*
公共静态字符串getName(){
return“James”;//Eclipse(据我记忆所及)删除必要的帧以摆脱过时的代码。
public class Main {
//    /*
    public static String getName() {
        return "James"; // <=== (2)
    }

    //*/
    public static void main(String[] args) {
        System.out.println("Hello " + getName()); // <=== (1)
    }
}