My app can display an HTML file with the java.awt.desktop.browse(URI) method correctly from a file hierarchy. Here, the URL from URLCLassLoader is converted by the URL.toURI method. Alas, this doesn't work when the classes are bundled in a jar file.
The URL is jar:file:/xxx.jar!/a/b.html (Note the ! after the jar).
How can I display the internal HTML file with the very convenient java.awt.desktop.browse(URI) method?
You'll need to extract it to an actual file, then display that. You can use File.createTempFile to get a unique temporary file, and if you use deleteOnExit() that file will be removed when your application shuts down (if possible).