Just wanted to share this little trick. Contrary to wide believe, this is not something the Bukkit-team can change (easily). What you have to do, though, is get server-owners to start Bukkit differently, as it would make the use of external libraries a lot easier! Here's the trick: Create a "libs"-directory alongside of the "plugins"-directory. Modify your startup script from: to ... Profit?! Just drop any libraries your plugins require in there and you're ready to go. If all plugins that want to use libraries will enforce this way of starting up the server, it would allow developers to use/develop external libraries for plugins without having to include them in the plugin JAR. A trick the Bukkit developers can apply to enforce this, is removing the Main-Class attribute from the MANIFEST.MF-file. WARNING: You have to use this way to launch Bukkit. You can no longer use the "-jar" method, if you do, "-classpath" is ignored and a lot of ClassNotFoundExceptions will be thrown at you.
It changes how the Java VM looks for classes. That little command line tells it to look in the craftbukkit jar, and the libs directory. It's a way to stop plugin devs having to manually call the classpath loader to get external librarys (for sqlite and such)
The above start-up script didn't work for me, because the "-classpath" argument takes ":" as a seperator, not ";". This is the fixed script: Code: java -Xmx<Memory>M -Xms<Memory>M -classpath "craftbukkit-0.0.1-SNAPSHOT.jar:libs/*" org.bukkit.craftbukkit.Main