Java 运行配置以调试IntelliJ IDEA中的Bukkit/Minecraft插件?

Java 运行配置以调试IntelliJ IDEA中的Bukkit/Minecraft插件?,java,debugging,intellij-idea,minecraft,bukkit,Java,Debugging,Intellij Idea,Minecraft,Bukkit,我正在帮助我的孩子学习创建Minecraft插件,尽管我对Java或IDEA没有太多经验。到目前为止,一切正常,但为了执行我们的代码,我们必须: 在IDEA中创建项目(输出路径设置为Bukkit/plugins) 运行Bukkit服务器 启动Minecraft并连接 我不确定是否可以对(3)做任何事情,但在我看来,这个想法应该能够在一个步骤中处理(1)和(2)。此外,我们目前无法使用此配置进行调试 在VisualStudio/.NET中,我只需要将可执行文件——在本例中为java/craftbu

我正在帮助我的孩子学习创建Minecraft插件,尽管我对Java或IDEA没有太多经验。到目前为止,一切正常,但为了执行我们的代码,我们必须:

  • 在IDEA中创建项目(输出路径设置为
    Bukkit/plugins
  • 运行Bukkit服务器
  • 启动Minecraft并连接
  • 我不确定是否可以对(3)做任何事情,但在我看来,这个想法应该能够在一个步骤中处理(1)和(2)。此外,我们目前无法使用此配置进行调试

    在VisualStudio/.NET中,我只需要将可执行文件——在本例中为java/craftbukkit——指定为,它将解决所有这些问题。不过,在IDEA中,我似乎应该添加一个运行配置,我没有看到一个选项允许任何类似“主机应用程序”的东西。相反,它希望Bukkit的
    main
    的完整类路径,我不清楚这是什么。我还看到其他地方有人建议,如果没有Bukkit的调试构建,即使这样也无法工作。但我真的不想调试Bukkit;我只想调试我们的插件代码而已


    我发现了,但这真的有必要吗?它没有解决“两步运行”问题;事实上,这让事情变得更糟

    我认为没有任何可能的方法可以自动部署和启动Bukkit服务器。IntelliJ要求在运行配置中定义具有main方法的类,除非您的项目中有Bukkit源代码,否则不能这样做。我会做一些进一步的研究,但我以前研究过这个话题,结果是空手而归。作为替代,我要做的是使插件对重新加载友好,并且只要在部署新版本时运行/重新加载即可。

    如果您不必使用IntelliJ IDEA,我建议您使用eclipse。我现在在eclipse工作了两年多,没有任何问题。eclipse调试器对所有值都有很好的概述,所以我认为这不是问题

    要解决您的问题,您可以尝试使用GDorn中的教程。他描述了如何用服务器调试bukkit插件。我还没有试过,但它似乎会起作用

    总结 首先,您必须打开运行配置并创建新的应用程序配置。在类路径选项卡中,必须删除所有“用户条目”。确保“引导条目”包含JRE库。还要添加两个外部jar,craftbukkit.jar(Bukkit服务器)和minecraft_Server.jar(香草服务器)

    我不知道你为什么要添加一个香草服务器,我在教程中读到,你可以不用它来尝试。否则,你就可以找到它

    之后,在参数选项卡中设置工作目录。保存并运行它


    您可以在教程链接中准确地阅读它。他对它的描述比我的总结要好一点。您也可以尝试使用这些信息,对于您的IntelliJ想法,它可能会为您提供一个解决方法的提示。

    首先,您需要创建一个工件。此处的示例屏幕截图:

    可以在文件>项目结构下找到

    然后转到Run>buildconfigurations并创建一个Maven配置

    您不需要填写任何参数。转到启动前并添加工件。然后单击“添加”,运行外部工具。创建一个。填上它。下面是一个例子

    一旦这个问题被添加到构建配置中,只需转到Run>Run,它应该在下面的控制台中运行。

    我意识到这个问题已经存在一年多了,但我最近也遇到了这个问题,没有找到满意的答案。在@hunterboerner的回答的帮助下,我就是这样解决的



    首先,您需要创建一个工件,将插件JAR编译到测试服务器的
    plugins
    目录:

  • 转到“文件>项目结构>工件”
  • 从模板“其他”添加新工件
  • 将“Output Directory”设置为测试服务器的
    plugins
    目录
  • 在“可用元素”下,右键单击条目“'ProjectName'编译输出”,然后单击“打包到/ProjectName.jar”
  • 如果您的项目没有
    MANIFEST.MF
    文件:

  • 在“输出根目录”下选择新的jar文件条目,然后单击“创建清单…”
  • 导航到保存项目java源文件的目录(例如
    src/main/java/
  • 工件配置示例:

    接下来,您需要创建一个运行配置来执行spiget服务器JAR:

  • 转到“运行>编辑配置…”
  • 添加新的“JAR应用程序”配置
  • 将“Path to JAR”设置为测试服务器的插口JAR
  • 将“工作目录”设置为测试服务器的目录
  • 在“启动前”下,添加一个新的“构建工件”任务
  • 选中列表中上面创建的工件
  • 运行配置示例:


    完成这些步骤后,“调试”运行配置或按
    SHIFT+F9
    。这将自动构建插件JAR,将其复制到测试服务器,并使用完整的调试工具(包括断点和热代码交换)执行该服务器。

    我很想看看这个问题的结果。我使用Netbeans,但我也有类似的问题。我使用了您上面提到的“远程调试”选项,但我手动启动了minecraft服务器(这最终变得非常有利,因为我测试了多个版本)。可能是您可以修改构建脚本以在完成构建后自动启动服务器…我可以问您为什么必须使用intellij idea吗?你有没有找过教程,而作者说要用它?还是你绝对想用它?@Gerret,我们不一定要用IDEA。但我还没有找到一种在Eclipse或NetBeans中工作的方法。A.