È possibile per Desktop.open(File f)
fare riferimento a un file che si trova all'interno di un JAR?Java Desktop.open (File f) file di riferimento all'interno di JAR?
Ho provato a utilizzare ClassLoader.getResource(String s)
, convertendolo in un URI, quindi creando un file da esso. Ma questo si traduce in IllegalArgumentException: URI is not hierarchical
.
URL url = ClassLoader.getSystemClassLoader().getResource(...);
System.out.println("url=" + url); // url is valid
Desktop.getDesktop().open(new File(url.toURI()));
Una possibilità è the answer at JavaRanch, che è quello di creare un file temporaneo dalla risorsa all'interno della JAR - non molto elegante.
Questo è in esecuzione su Windows XP.
In realtà la creazione di un file temporaneo è una buona soluzione. Puoi creare una libreria "elegante" per questo, quindi non devi codificarla ogni volta. – OscarRyz