Spring ResourceLoader загружает файл из IDE и выдает исключение при загрузке из jar - PullRequest
0 голосов
/ 28 декабря 2018

Я загружаю файл из таких ресурсов:

@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) Как правильно загрузить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...