Abra un archivo HTML dentro de un archivo .JAR

Tengo un archivo html llamado snake.html que me gustaría poner dentro de un contenedor. Cuando se ejecuta el jar, la clase principal debe abrir este archivo html en el navegador. Yo he tratado:

public static void main(String[] args) throws IOException, URISyntaxException { URL url = Snake.class.getResource("/WebContent/snake.html"); System.out.println(url); // relative to the class location Desktop.getDesktop().browse(url.toURI()); } 

Lo cual funciona si solo ejecuto este código, pero cuando lo hago (y el archivo html) obtengo la siguiente excepción:

 Exception in thread "main" java.io.IOException: Failed to mail or browse jar:file:/Users/~user~/Desktop/Snake%20v0.1.jar!/WebContent/snake.html. Error code: -10814 at apple.awt.CDesktopPeer.lsOpen(CDesktopPeer.java:52) at apple.awt.CDesktopPeer.browse(CDesktopPeer.java:45) at java.awt.Desktop.browse(Desktop.java:368) at snake.Snake.main(Snake.java:26) 

Me pregunto si tengo un problema de classpath o si no estoy dirigiendo el archivo jar al archivo correctamente. El jar tiene dos directorios, snake y WebContent. Snake tiene el archivo snake.class y WebContent tiene snake.html.

Cualquier y toda ayuda / crítica apreciada.

Tendrás que volver a comprimir el archivo primero.

Algo como:

 public static void main(String[] args) throws IOException, URISyntaxException { URL url = Snake.class.getResource("/WebContent/snake.html"); File temp = File.createTempfile(); temp.deleteOnExit(); // Copy content Desktop.getDesktop().browse(temp.getAbsolutePath()); } 

(HTML) .. dentro de un flask. Cuando se ejecuta el jar, la clase principal debe abrir este archivo html en el navegador.

Los navegadores no están diseñados para mostrar HTML dentro de los archivos de Java. Los componentes de Java como JEditorPane pueden. Si el HTML rinde a su satisfacción dentro de un componente Swing, úselo. De lo contrario, será necesario

  1. Ubique el recurso por URL.
  2. Extraerlo a una ubicación en el sistema de archivos local.
  3. Use el navegador para abrir el archivo (la forma más fácil es usar Desktop.open(File) ).

Intenta cargar el archivo snake.html de la siguiente manera:

 ClassLoader.getSystemResource("/WebContent/snake.html"); 
Intereting Posts