Что вызывает IllegalArgumentException: компонент полномочий URI имеет неопределенное исключение хоста?

У нас есть простое настольное приложение, которое показывает диалоговое окно about с указанием пути к нашему приложению, а в некоторых редких случаях клиенты тестируют наше приложение следующим образом.

try
{
  final URL jarPath = ClassLoader.getSystemClassLoader().getResource( "." );
  final Path parent = Paths.get( jarPath.toURI() ).getParent();//Here the exception occours.
}
catch( URISyntaxException ex )
{
    ...
}

Результаты в этом исключении:

java.lang.IllegalArgumentException: URI authority component has undefined host
    at sun.nio.fs.WindowsUriSupport.fromUri(WindowsUriSupport.java:139)
    at sun.nio.fs.WindowsFileSystemProvider.getPath(WindowsFileSystemProvider.java:92)
    at java.nio.file.Paths.get(Paths.java:138)

К сожалению, я не смог воспроизвести эту ошибку с нашей местной средой. Мое первое предположение состояло в том, что приложение было запущено с сетевого диска, который не был отображен локально, но диалог даже правильно обрабатывал UNC Pathes.

Может кто-нибудь сказать мне, когда это может не с этим исключением? Или даже лучший способ определить текущий путь к приложению, который также работает в таких средах, как сетевые диски?

0 ответов

Другие вопросы по тегам