Приложение использует JDK 8, Spring Boot и Spring Boot Jersey starter и упакован как WAR (хотя он локально выполняется через Spring плагин Boot Maven).
Что я хотел бы сделать, так это получить документацию, которую я создаю на лету (во время сборки) в качестве приветственной страницы.
Я попробовал несколько подходов:
- позволяя Джерси обслуживать статическое содержимое, настроив
application.properties
правильный параметр инициализации, как описано здесь - введите
metadata-complete=false
web.xml
, чтобы перечислить сгенерированный документ HTML в качестве файла приветствия.
Ничего из этого не получилось.
Я бы хотел избежать включения Spring MVC или создания ресурса Джерси только для обслуживания статического файла.
Любая идея?
Вот класс конфигурации в Джерси (я безуспешно пытался добавить там ServletProperties.FILTER_STATIC_CONTENT_REGEX
):
@ApplicationPath("/")
@ExposedApplication
@Component
public class ResourceConfiguration extends ResourceConfig {
public ResourceConfiguration() {
packages("xxx.api");
packages("xxx.config");
property(ServerProperties.BV_DISABLE_VALIDATE_ON_EXECUTABLE_OVERRIDE_CHECK, true);
property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
}
}
И вот Spring класс приложения загрузки (я попытался добавить application.properties
с spring.jersey.init.jersey.config.servlet.filter.staticContentRegex=/.*html
, но это не сработало, я не совсем уверен, что здесь должен быть ключ свойства):
@SpringBootApplication
@ComponentScan
@Import(DataConfiguration.class)
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}