Plik referencyjny Java Desktop.open (plik f) w JAR?
Możliwe jest dlaDesktop.open(File f)
odwołać się do pliku znajdującego się w JAR?
Próbowałem użyćClassLoader.getResource(String s)
, konwertowanie go na URI, a następnie tworzenie z niego pliku. Ale to skutkujeIllegalArgumentException: URI is not hierarchical
.
URL url = ClassLoader.getSystemClassLoader().getResource(...);
System.out.println("url=" + url); // url is valid
Desktop.getDesktop().open(new File(url.toURI()));
Istnieje taka możliwośćodpowiedź w JavaRanch, czyli tworzenie pliku tymczasowego z zasobu w JAR - niezbyt elegancki.
To działa w systemie Windows XP.