Я обнаружил ошибку в библиотеке, которую использует мое приложение. Я сузил проблему до поведения класса java.net.URL
и того, как библиотека использует его для поиска ресурсов.
Когда я запускаю следующий код, вывод будет file:/root/myfile.xml
вместо file:/root/folder/myfile.xml
.
public static void main(String[] args) throws MalformedURLException {
String location = "file:///root/folder";
String spec = "myfile.xml";
URL context = new URL(location);
URL url = new URL(context, spec);
System.out.println(url);
}
Я получу ожидаемый результат, если добавлю косую черту к location
.
Мне любопытно, почему java.net.URL
ведет себя так?