Мне нужно упаковать файл конфигурации в банку.файл конфигурации находится в корне файла JAR.Однако я получил следующую ошибку:
Причина: java.lang.IllegalArgumentException: URI не является иерархическим в java.io.File. (Неизвестный источник)
File url = new File(MyClass.class.getClassLoader().getResource("my.conf").toURI());
Вместо этого вы должны использовать getResourceAsStream ().Если файл встроен в ваш JAR-файл, скорее всего, URI является комплектом: // URI
InputStream is = this.getClass().getResourceAsStream("my.conf");
Зачем вам файл?Если вам нужно прочитать конфигурацию, используйте
Class.getResourceAsStream("/" + "my.conf");
Это должен быть только файл в одной папке с корнем вашего пакета (такой же, как в корне фляги)
Файл должен быть в том же пакете, что и MyClass.Я только что понял, что вы создаете объект File.Вместо этого попробуйте использовать getResourceAsStream ().Это правильный путь, если вы хотите прочитать содержимое из ресурса classpath.Здесь является примером .