Arquivo de referência do Java Desktop.open (Arquivo f) dentro do JAR?
É possível paraDesktop.open(File f)
fazer referência a um arquivo localizado em um JAR?
Eu tentei usarClassLoader.getResource(String s)
, convertendo-o em um URI e criando um arquivo a partir dele. Mas isso resulta emIllegalArgumentException: URI is not hierarchical
.
URL url = ClassLoader.getSystemClassLoader().getResource(...);
System.out.println("url=" + url); // url is valid
Desktop.getDesktop().open(new File(url.toURI()));
Uma possibilidade éa resposta em JavaRanch, que é criar um arquivo temporário do recurso dentro do JAR - não muito elegante.
Isso está sendo executado no Windows XP.