gpt4 book ai didi

java - WAR 文件部署到 Tomcat 失败 : URI scheme error

转载 作者:行者123 更新时间:2023-12-02 11:52:18 27 4
gpt4 key购买 nike

我有一个使用 Maven 构建的 war 文件,它包含它需要的所有依赖项(它是一个 REST 服务)。我在两台机器上使用 Java JRE 1.8.0_152 和 Tomcat 8.5.24。一台是 Windows 10 64 位计算机,另一台是 Windows Server 2012 R2 64 位计算机。我已经在 Windows 10 计算机上成功构建(在 Eclipse/Maven 中)并部署了 war 文件,但是当我在 Windows 服务器计算机上部署相同的 war 文件时,在 Tomcat 启动(或 war 文件部署)时出现以下错误:

13-Dec-2017 14:41:36.603 SEVERE [bla.bla-startStop-1] org.apache.catalina.core.ApplicationContext.log StandardWrapper.Throwable org.glassfish.jersey.server.internal.scanning.ResourceFinderException: The URI scheme war of the URI war:file:/C:/apache-tomcat-8.5.24/webapps/bla.war*/WEB-INF/classes/bla/bla/ is not supported. Package scanning deployment is not supported for such URIs.
Try using a different deployment mechanism such as explicitly declaring root resource and provider classes using an extension of javax.ws.rs.core.Application

然后,我认为相关的进一步消息:

13-Dec-2017 14:41:36.615 SEVERE [bla.bla-startStop-1] org.apache.catalina.core.StandardContext.loadOnStartup Servlet [Jersey REST Service] in web application [/bla] threw load() exception

我使用 Jersey 来处理 REST 内容,但是两台机器都安装了相同版本的 JRE 和 Tomcat,并且是相同的 war 文件!(我什至删除了 Tomcat 安装并从从头开始 - 同样的事情)。

我什至不知道从哪里开始寻找,因为所有依赖项都包含在 war 文件中(包括 Jersey jar)并且它可以在 Windows 10 计算机上运行;我发现唯一值得注意的是错误消息中 war 文件名后面的星号(“bla.war*”)。我不确定它来自哪里,或者它是否确实与错误的根本原因相关。

有什么提示/想法吗?提前致谢!

最佳答案

日志文件告诉您 Tomcat/JVM 正在尝试直接从 .war 文件中读取文件。不支持 URI war:file:/C:/apache-tomcat-8.5.24/webapps/bla.war*/WEB-INF/classes/bla/bla/。此类 URI 不支持包扫描部署。 尝试使用不同的部署机制,例如显式声明根资源并提供

所以,它看起来像是不同的 tomcat 配置。服务器上的 Tomcat 配置是否设置为解压 war ?例如。您需要确保设置了unpackWARs==true。引用:how to make tomcat explode the war files

关于java - WAR 文件部署到 Tomcat 失败 : URI scheme error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47796313/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com