im пытается извлечь некоторые файлы из jar-файла, загруженного с помощью java-webstart. ниже код был использован, чтобы найти банку и начать FileSystemИзвлечь некоторый контент из jar-файла, загруженного с помощью JWS
1 final ProtectionDomain domain = this.getClass().getProtectionDomain();
2 final CodeSource source = domain.getCodeSource();
3 final URL url = source.getLocation();
4 final URI uri = url.toURI();
5 Path jarPath = Paths.get(uri);
6
7 FileSystem fs = FileSystems.newFileSystem(jarPath, null);
Это прекрасно работает, когда банку-файл находится на локальном диске, но не может в строке 5 в сценарии JWS, потому что
журналы говорит: URL = HTTP: // локальный: 8080/myjarfile.jar
java.nio.file.FileSystemNotFoundException: Provider "http" not installed
at java.nio.file.Paths.get(Unknown Source)
Если я понимаю правильно JWS, myjarfile.jar был загружен уже некоторое кэш, поэтому реализация FileSystemProvider для HTTP, чтобы получить некоторое содержание from myjarfile.jar кажется медленным и compl icated. Итак, какие-нибудь хорошие идеи о том, как действовать?
спасибо за ответ. Im соблазн вставить .jar/zip с некоторым содержимым в myjarfile.jar. Затем извлеките его в известное место на диске, используя ваше предложение. Затем сохраните текущее решение для извлечения файлов. –
Прохладный. Надеюсь, все будет хорошо. :) –