I modifiede the Device.java and Service.java to allow loading the descriptors from classpath (they're packed inside the jar file).

this is not the entire change, but explains what I did - if it's useful I can email the files / extract patch...

    /** RazvanC 2008-03 allows descr files to be in jar files in the classpath, for compact runnables */
    public Device(URL descriptionURL) throws InvalidDescriptionException, IOException
    {
        this(null, null);
        this.descriptionURL=descriptionURL;
        loadDescription(descriptionURL);
    }

I would just remove the other constructors (by file/by stringfilename) since they're subsets.