I'm helping my kid learn to create Minecraft plugins, although I don't have much experience with Java or IDEA. Everything is working well so far, but in order to execute our code, we have to:
Bukkit/plugins
)I'm not sure that anything can be done about (3), but it seems to me that IDEA should be able to handle (1) & (2) in a single step. Also, we cannot presently debug using this configuration.
In Visual Studio / .NET, I would just need to specify the executable -- java/craftbukkit, in this case -- as an "external program", and it would solve all of these problems. In IDEA, though, it seems that I am supposed to add a Run Configuration, and I don't see an option which allows anything like a "host application." Instead, it wants the full classpath to the main
for Bukkit, and it isn't clear to me what that would be. I have also seen it suggested elsewhere that even this won't work without a debug build of Bukkit. but I don't really want to debug Bukkit; I just want to debug our plugin code only.
I found these instructions for remote debugging Bukkit plugins, but is that actually necessary? It doesn't solve the "two steps to run" problem; it actually makes it worse!
I realize this question is more than a year old, but I too had this problem recently and found no satisfactory answers. This is how I solved it, with help from @hunterboerner's answer.
First thing is you need to create an artifact that compiles the plugin JAR to the testing server's plugins
directory:
plugins
directory of the testing serverIf your project has no MANIFEST.MF
file:
src/main/java/
)An example artifact configuration:
Next, you need to create a Run Configuration that executes the Spigot server JAR:
After completing these steps, "Debug" the run configuration or press SHIFT+F9
. This will automatically build the plugin JAR, copy it to the testing server and execute that server with full debugging facilities, including breakpoints and hot code swapping.