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

时间:2013-08-23 12:18:57

标签: java debugging intellij-idea minecraft bukkit

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

  1. 在IDEA中创建项目(输出路径设置为Bukkit/plugins
  2. 运行Bukkit服务器
  3. 启动Minecraft并连接
  4. 我不确定(3)可以做些什么,但在我看来,IDEA应该能够处理(1)& (2)一步到位。此外,我们目前无法使用此配置进行调试。

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

    我找到了these instructions for remote debugging Bukkit plugins,但实际上是必要的吗?它没有解决“两步运行”问题;它实际上让它变得更糟!

4 个答案:

答案 0 :(得分:11)

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

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

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

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

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

      1. 转到“运行>编辑配置...”
      2. 添加新的“JAR应用程序”配置
      3. 将“JAR路径”设置为测试服务器的Spigot JAR
      4. 将“工作目录”设置为测试服务器的目录
      5. 在“发布之前”下,添加一个新的“构建工件”任务
      6. 勾选列表上方创建的工件
      7. 示例运行配置:example run config

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

答案 1 :(得分:4)

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

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

摘要

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

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

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

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

答案 2 :(得分:2)

首先,您需要创建一个工件。示例截图:

artifact

可以在文件>项目结构

下找到

然后转到运行>构建配置并创建Maven配置

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

run external

在构建配置中添加后,只需转到“运行”>“运行”,它应该在下面的控制台中运行。

答案 3 :(得分:0)

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