Что вызывает 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.
Может кто-нибудь сказать мне, когда это может не с этим исключением? Или даже лучший способ определить текущий путь к приложению, который также работает в таких средах, как сетевые диски?