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

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

  1. 在 IDEA 中生成项目(输出路径设置为Bukkit/plugins)
  2. 运行 Bukkit 服务器
  3. 启动 Minecraft 并连接

我不确定是否可以对(3)做任何事情,但在我看来,IDEA应该能够在一个步骤中处理(1)和(2)。此外,我们目前无法使用此配置进行调试。

在Visual Studio / .NET中,我只需要将可执行文件(在这种情况下为java/craftbukkit)指定为“外部程序”,它将解决所有这些问题。但是,在IDEA中,似乎我应该添加一个运行配置,但我没有看到一个允许像“主机应用程序”这样的东西的选项。相反,它想要完整的类路径到Bukkit,我不清楚那会是什么。我还在其他地方看到有人建议,如果没有Bukkit的调试版本,即使这样也无法正常工作。但我真的不想调试Bukkit;我只想调试我们的插件代码。main

我找到了这些用于远程调试Bukkit插件的说明,但这实际上是必要的吗?它没有解决“两步运行”的问题;它实际上使情况变得更糟!


答案 1

我意识到这个问题已经有一年多的历史了,但我最近也有这个问题,没有找到令人满意的答案。这就是我在@hunterboerner的答案的帮助下解决它的方式。


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

  1. 转到“文件>项目结构>工件”
  2. 从模板“其他”添加新的工件
  3. 将“输出目录”设置为测试服务器的目录plugins
  4. 在“可用元素”下,右键单击条目“'项目名称'编译输出”,然后单击“打包到/项目名称.jar”

如果您的项目没有文件:MANIFEST.MF

  1. 选择“输出根”下的新jar文件条目,然后单击“创建清单...”
  2. 导航到项目的 java 源文件保留的目录(例如src/main/java/)

项目配置示例:example artifact config

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

  1. 转到“运行>编辑配置...”
  2. 添加新的“JAR 应用程序”配置
  3. 将“JAR 路径”设置为测试服务器的 Spigot JAR
  4. 将“工作目录”设置为测试服务器的目录
  5. 在“启动之前”下,添加新的“构建工件”任务
  6. 在列表中选中上面创建的工件

运行配置示例:example run config

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


答案 2

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

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

总结

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

我不知道为什么你必须添加一个Vanilla服务器,我在教程中读到过,你可以在没有它的情况下尝试一下。否则,您可以在此处找到它。

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

您都可以在教程链接中准确阅读它。他描述得比我的总结好一点。你也可以尝试使用这些信息,对于你的IntelliJ IDEA,也许它会给你一个如何解决它的提示。