Java ClassLoader fun with getResource()
DXLMagic will have a Java UI. To be flexible I store my UI definitions inside the JAR file and load them at runtime. I learned a few lessons in the process:
- When you use Class.getResource() inside a static method of a class you won't get access to any of the resources in the JAR. You need to have a normal instance of a class.
- Instantiating an object inside a static method doesn't help either.
- Class.getResources("*") doesn't return anything even if you have valid resources in the JAR. So wildcards either don't work or work very different.
- It really pays off to change the editor preferences in Eclipse to nag more about coding style and potential code problems
- Crap4J and PMT are your friends, as are Coverclipse
- Debugging in fun in Eclipse unless you only have one smallish monitor