This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
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).