如何将 Manifold 插件与 IntelliJ 一起使用?

How do I use the Manifold plugin with IntelliJ?

我正在尝试按如下方式使用 Manifold 插件:

@Test
    void printBoard() {
        @JailBreak TicTacToe game = new TicTacToe();
        game.printBoard();

        assertEquals("- ,- ,-\r\n- ,- ,-\r\n- ,- ,-", outputStreamCaptor.toString()
                .trim());
    }

我想添加更多的断言来测试我在游戏中更改私有棋盘变量后棋盘是否正确打印(这就是为什么我想使用 JailBreak 注释。

我通过设置 > 插件 > 搜索流形 > installing/applying 在 Intellij 中安装了插件。然后我重新启动了我的 IDE 但没有运气(编译器不识别 @JailBreak)。

有没有人知道可能出了什么问题?如果有帮助,我正在使用 Java8。

Manifold 插件分析项目的构建配置以动态应用功能,例如通过@Jailbreak 支持类型安全反射。见 manifold-ext setup instructions. In Gradle terms, to support @Jailbreak your project must have an implementation dependency on manifold-ext-rt and an annotationProcessor dependency on manifold-ext. Additionally, you need to add the -Xplugin:Manifold compiler argument. This info is detailed in the setup docs.

如果您不使用 Gradle 或 Maven,您可以在模块的依赖项设置中使用 Manifold binaries 直接配置您的 IntelliJ 项目。您还需要通过 File | 直接设置编译器参数(-Xplugin:Manifold-processorpath)设置 |构建、执行、部署 |编译器 | Java 编译器。