Gradle + IntelliJ:普通Java应用程序中的HotSwap

时间:2017-12-01 09:33:10

标签: java intellij-idea gradle hotswap

对于普通的Java / Swing应用程序,我目前正在将ant构建脚本迁移到gradle构建。

当我快速启动并运行时,在IntelliJ IDEA中调试时,重新编译的类中的更改不再被接收。

我的所有构建/运行操作都是delegated to gradle

我考虑过的事情:

所以我把这个MVCE放在一起来说明我的问题:

的build.gradle:

group 'hotswaptest'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'idea'

sourceCompatibility = 1.8

的src /主/爪哇/ HotSwappingOrNot.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class HotSwappingOrNot {
    public static void main(String[] args) {

        JFrame asdf = new JFrame();
        asdf.setContentPane(new JLabel("asdf"));

        asdf.setVisible(true);

        asdf.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                float r = (float) Math.random();
                Color c = new Color(r, 1-r, r);
                asdf.setBackground(c);
            }
        });
    }
}

为了测试hotswapping,我将new Color(r, 1-r, r) -bit更改为new Color(r, r, r)并按Ctrl+Shift+F9

1 个答案:

答案 0 :(得分:0)

尚未修复IDEA-163187。 到目前为止,我还没有发现任何可用的解决方法:(