Я загружаю файл из таких ресурсов:
@Bean
Schema schema(SchemaFactory schemaFactory) throws SAXException, IOException {
ResourceLoader resolver = new PathMatchingResourcePatternResolver();
Resource resource = resolver.getResource("schemas/my.xsd");
return schemaFactory.newSchema(resource.getURL());
}
И этот код отлично работает, когда я запускаю сервер с Intellij IDE и с jar
В другом классе я пытаюсь использовать тот же код:
ResourceLoader resolver = new PathMatchingResourcePatternResolver();
Resource resource = resolver.getResource("schemas/my.wsdl");
endpoint.setWsdlLocation(resource.getURL().toString());
И этот код отлично работает, когда я запускаю сервер из Intellij IDE и выдает исключение при запуске из jar
В режиме отладки я получаю URL в следующих случаях:
file:/D:/gitProjects/my-server/sources/my-generator/build/resources/main/schemas/my.xsd
file:/D:/gitProjects/my-server/sources/my-generator/build/resources/main/schemas/my.wsdl
Если я изменяю код на это:
endpoint.setWsdlLocation("jar:file:BOOT-INF/lib/my-generator.jar!/schemas/my.wsdl");
код работает нормально при запуске сервераот Intellij IDE и от jar
A два вопроса:
1) Почему при загрузке из идеи все работаета из баночки нет?
2) Как правильно загрузить?