I created a custom servlet and it was working fine. I updated the struts-config-ext.xml and dropped my jar in the lib directory.

Now I want to move it to a more maintainable spot. Is the EXT plugin the proper place and if so in which project? I've tried creating one today and placing my code in ext-impl, but it just keeps throwing a 500 error when calling liferay. No stack traces.

EXT plugin is used to extend Liferay functionalities by overriding Liferay classes. If your servlet doesn't override Liferay classes, but uses Liferay classes, just make it into a Liferay plugin. If it doesn't use Liferay classes, just create an ordinary war file for your web project.