繁体   English   中英

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

[英]Run Configuration to Debug Bukkit/Minecraft Plugin in IntelliJ IDEA?

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

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

我不确定(3)可以做什么,但在我看来,IDEA应该能够一步完成(1)和(2)。 此外,我们目前无法使用此配置进行调试。

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

我发现这些指令用于远程调试Bukkit插件 ,但这实际上是必要的吗? 它没有解决“两步运行”问题; 它实际上让它变得更糟!

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


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

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

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

  1. 在“output root”下选择新的jar文件条目,然后单击“Create Manifest ...”
  2. 导航到项目的java源文件保存的目录(例如src/main/java/

示例工件配置: 示例工件配置

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

  1. 转到“运行>编辑配置...”
  2. 添加新的“JAR应用程序”配置
  3. 将“Path to JAR”设置为测试服务器的Spigot JAR
  4. 将“工作目录”设置为测试服务器的目录
  5. 在“Before launch”下,添加一个新的“Build Artifacts”任务
  6. 选中列表上方创建的工件

示例运行配置: 示例运行配置

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

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

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

摘要

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

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

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

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

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

神器

可以在File> Project Structure下找到

然后转到Run> Build Configurations并创建Maven配置

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

外部运行

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM