Не удается прочитать ресурс из jar в Spring Boot - PullRequest
0 голосов
/ 23 марта 2020

Я использую Spring Boot 2.2.2 с JSF. Мой проект структурирован так:

src | main | java ...
           \ resources |          application.properties
           \ webapp | WEB-INF |   faces-config.xml
                    \ index.xhtml

index.x html устанавливается как страница приветствия следующим образом:

@Configuration
public class WelcomeFileServletConfiguration implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("forward:/index.xhtml");
        registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
    }
}

Я создаю приложение с помощью Maven (хотя я сначала использовали gradle, который выдал ту же ошибку, поэтому, скорее всего, это не имеет значения) * папка вот так:

java -jar target/my-app.jar

работает отлично. Когда я захожу на localhost: 8080, я вижу, что моя страница JSF отображается именно так, как я хочу.

Однако, если я запускаю приложение из любого другого каталога, например:

cd ..
java -jar my-project/target/my-app.jar

it все еще запускается нормально, но когда я получаю доступ к localhost: 8080, я получаю это сообщение:

Произошла непредвиденная ошибка (тип = Не найдено, статус = 404). /index.xhtml Не найден в ExternalContext в качестве ресурса

Я предполагаю, что по какой-то причине ресурсы (по крайней мере, x html, но, возможно, также и face-config) не являются взял из банки, но из исходной папки. Это явно не то, что я хочу. Может кто-нибудь сказать мне, что я делаю не так?

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