我WAR应用程序使用了非Spring库(用于JSF)。库使用servletContext.getResource(“page.html”)
初始化。page.html
位于WEB-INF/lib中的一个JAR中,打包为meta-inf/resources/page.html
例如,对于Undertow类路径,不使用资源管理器:
private ResourceManager getDocumentRootResourceManager() {
File root = getCanonicalDocumentRoot();
if (root.isDirectory()) {
return new FileResourceManager(root, 0);
}
if (root.isFile()) {
return new JarResourceManager(root);
}
return ResourceManager.EMPTY_RESOURCE_MANAGER;
}
https://github.com/spring-projects/spring-boot/blob/master/spring-boot/src/main/java/org/springframework/boot/context/embedd/undertow/undertowembeddedservletcontainerfactory.java#L466
该提问了:为什么嵌入式servlet容器忽略meta-inf/resources
?制作可执行的Servlet3.0应用程序是一个问题。
嵌入式Tomcat、可执行jar、ServletContext.getRealPath()
https://github.com/spring-projects/spring-boot/issues/4218
我用以下配置解决了我的问题:
@Bean
public UndertowEmbeddedServletContainerFactory embeddedServletContainerFactory() {
UndertowEmbeddedServletContainerFactory factory =
new UndertowEmbeddedServletContainerFactory();
factory.addDeploymentInfoCustomizers(new UndertowDeploymentInfoCustomizer() {
@Override
public void customize(DeploymentInfo deploymentInfo) {
deploymentInfo.setResourceManager(
new ClassPathResourceManager(deploymentInfo.getClassLoader(),
"META-INF/resources"));
});
return factory;
}
通常,我认为嵌入式web容器的行为记录不足。Spring Boot开发人员很高兴嵌入式web容器为应用程序提供一些功能子集,迁移现有应用程序的人希望嵌入式容器提供常规容器的所有功能。例如,ServletContainerInitializer在Embedded:https://github.com/spring-projects/spring-boot/issues/321中被忽略
ValidationExceptionHandler.java 当我运行我的代码并传递无效的电子邮件地址时,我会得到以下异常。从不执行HandleConstraintVilvation中的代码。异常中返回的http状态是500,但我想返回400。你知道我怎么才能做到吗?
当您定义 Pod 的时候可以选择为每个容器指定需要的 CPU 和内存(RAM)大小。当为容器指定了资源请求后,调度器就能够更好的判断出将容器调度到哪个节点上。如果您还为容器指定了资源限制,节点上的资源就可以按照指定的方式做竞争。 资源类型 CPU 和 memory 都是 资源类型。资源类型具有基本单位。CPU 的单位是 core,memory 的单位是 byte。 CPU和内存统称为计算资源,也可
我开始做一些类似资源类的东西,在那里我可以为我的应用程序保存我所有的文件,像图像和声音,但它变得非常混乱,所有的东西都在应用程序的乞求中加载。 这是包含所有内容的类:https://sourceb.in/s8rjgqqgss(头文件)https://sourceb.in/cjiq78hdov(cpp文件的一部分) 我很抱歉把它贴在不同的网站上,但正如你所看到的,它真的很乱,我也不知道如何让它变得更
我在docker中有两个服务后端和前端(nodejs),它们通过nginx(也在docker中)处理。 Nginx配置: 我使用nginx location将所有请求代理给
我试图处理这个错误(我在Android Studio更新东西之前从来没有过这个错误): 现在必须显式声明注释处理器。发现编译类路径上的以下依赖项包含注释处理器。请将它们添加到annotationProcessor配置中。-auto-value-1.4.jar(com.google.auto.value:auto-value:1.4)或者,设置android.defaultconfig.javaCo
我正在尝试对我的Spring Boot应用程序进行dockerize。 这是我的docker作曲文件 我的dockerfile 我可以看到我的战争已经展开。在日志中我可以看到 在/usr/local/tomcat/webapps目录中,我可以看到这个根目录。war和根文件夹存在。我用以下命令启动docker: 当我访问localhost:8080Tomcat说Http状态404-未找到。 这里是执