news 2026/2/9 7:52:32

【App Service】部署War包到Azure云上遇404错误

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【App Service】部署War包到Azure云上遇404错误

用一个上传文件的Java代码,打包成war包部署到App Service for Windows环境后,发现无法访问。报错404!

image

如果在本地启动,是正常的。

image

这是什么原因呢?难道是部署时出现了错误?

问题解答

按照Azure App Service的部署文档,直接使用AZ CLI来部署 war 包 (部署 WAR、JAR 或 EAR 包 : https://docs.azure.cn/zh-cn/app-service/deploy-zip?tabs=cli#-deploy-war-jar-or-ear-packages)

使用 az webapp deploy 命令将 WAR 包部署到 Tomcat 或 JBoss EAP。 为 --src-path 指定本地 Java 包的路径。

az webapp deploy --resource-group <group-name> --name <app-name> --src-path ./<package-name>.war

部署好之后, 在App Service的Kudu站点中,查看文件部署的文件结构:

image

文件已经部署到App Service的wwwroot目录中,脚本部署显示也是正常。但是为什么能运行呢?

继续查看kudu中的logfiles/Application/中查看到日志: contalina 启动失败,报错 “ Error WARNING: Unknown version string [5.0]. Default version will be used. ”, 非常困惑!

复制代码

2025-10-26T07:31:43 PID[7732] Error NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED

2025-10-26T07:31:43 PID[7732] Error Picked up _JAVA_OPTIONS: -javaagent:'C:\Program Files (x86)\SiteExtensions\JavaApplicationInsightsAgent\3.5.1\java\applicationinsights-agent-codeless.jar'

2025-10-26T07:31:44 PID[7732] Error OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

2025-10-26T07:32:08 PID[7732] Error Oct 26, 2025 7:32:08 AM org.apache.catalina.startup.ClassLoaderFactory validateFile

2025-10-26T07:32:08 PID[7732] Error WARNING: Problem with directory [D:\DWASFiles\Sites\lbwartest02\Temp\JavaFiles\c8fdd919-ff9e-41d8-ab61-e757726050cd\tomcat\lib], exists: [false], isDirectory: [false], canRead: [false]

2025-10-26T07:32:08 PID[7732] Error Oct 26, 2025 7:32:08 AM org.apache.catalina.startup.ClassLoaderFactory validateFile

2025-10-26T07:32:08 PID[7732] Error WARNING: Problem with directory [D:\DWASFiles\Sites\lbwartest02\Temp\JavaFiles\c8fdd919-ff9e-41d8-ab61-e757726050cd\tomcat\lib], exists: [false], isDirectory: [false], canRead: [false]

2025-10-26T07:32:08 PID[7732] Error Oct 26, 2025 7:32:08 AM org.apache.catalina.startup.ClassLoaderFactory validateFile

2025-10-26T07:32:08 PID[7732] Error WARNING: Problem with directory [C:\home\site\libs], exists: [false], isDirectory: [false], canRead: [false]

2025-10-26T07:32:08 PID[7732] Error Oct 26, 2025 7:32:08 AM org.apache.catalina.startup.ClassLoaderFactory validateFile

2025-10-26T07:32:08 PID[7732] Error WARNING: Problem with directory [C:\home\site\libs], exists: [false], isDirectory: [false], canRead: [false]

2025-10-26T07:32:21 PID[7732] Error Oct 26, 2025 7:32:21 AM org.apache.catalina.startup.HostConfig deployDescriptor

2025-10-26T07:32:21 PID[7732] Error WARNING: The path attribute with value [] in deployment descriptor [D:\DWASFiles\Sites\lbwartest02\Temp\JavaFiles\c8fdd919-ff9e-41d8-ab61-e757726050cd\site\wwwroot\ROOT.xml] has been ignored

2025-10-26T07:32:25 PID[7732] Error Oct 26, 2025 7:32:25 AM org.apache.tomcat.util.descriptor.web.WebXml setVersion

2025-10-26T07:32:25 PID[7732] Error WARNING: Unknown version string [5.0]. Default version will be used.

复制代码

根据version上猜测,可能与Java 或 Tomcat的版本相关。 于是修改Tomcat的版本到10.0 之后,再次查看日志,就会发现更加详细的版本冲突的错误信息:java.lang.UnsupportedClassVersionError: org/springframework/web/SpringServletContainerInitializer has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 (unable to load class [org.springframework.web.SpringServletContainerInitializer])

复制代码

2025-10-26T07:40:44 PID[6224] Error NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED

2025-10-26T07:40:44 PID[6224] Error Picked up _JAVA_OPTIONS: -javaagent:'C:\Program Files (x86)\SiteExtensions\JavaApplicationInsightsAgent\3.5.1\java\applicationinsights-agent-codeless.jar'

2025-10-26T07:40:46 PID[6224] Error OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

2025-10-26T07:41:15 PID[6224] Error Oct 26, 2025 7:41:15 AM org.apache.catalina.startup.ClassLoaderFactory validateFile

2025-10-26T07:41:15 PID[6224] Error WARNING: Problem with directory [D:\DWASFiles\Sites\lbwartest02\Temp\JavaFiles\147da13b-a28f-4b35-a90a-3800a3cae95b\tomcat\lib], exists: [false], isDirectory: [false], canRead: [false]

2025-10-26T07:41:15 PID[6224] Error Oct 26, 2025 7:41:15 AM org.apache.catalina.startup.ClassLoaderFactory validateFile

2025-10-26T07:41:15 PID[6224] Error WARNING: Problem with directory [D:\DWASFiles\Sites\lbwartest02\Temp\JavaFiles\147da13b-a28f-4b35-a90a-3800a3cae95b\tomcat\lib], exists: [false], isDirectory: [false], canRead: [false]

2025-10-26T07:41:16 PID[6224] Error Oct 26, 2025 7:41:16 AM org.apache.catalina.startup.ClassLoaderFactory validateFile

2025-10-26T07:41:16 PID[6224] Error WARNING: Problem with directory [C:\home\site\libs], exists: [false], isDirectory: [false], canRead: [false]

2025-10-26T07:41:16 PID[6224] Error Oct 26, 2025 7:41:16 AM org.apache.catalina.startup.ClassLoaderFactory validateFile

2025-10-26T07:41:16 PID[6224] Error WARNING: Problem with directory [C:\home\site\libs], exists: [false], isDirectory: [false], canRead: [false]

2025-10-26T07:41:32 PID[6224] Error Oct 26, 2025 7:41:32 AM org.apache.catalina.startup.HostConfig deployDescriptor

2025-10-26T07:41:32 PID[6224] Error WARNING: The path attribute with value [] in deployment descriptor [D:\DWASFiles\Sites\lbwartest02\Temp\JavaFiles\147da13b-a28f-4b35-a90a-3800a3cae95b\site\wwwroot\ROOT.xml] has been ignored

2025-10-26T07:41:39 PID[6224] Error Oct 26, 2025 7:41:39 AM org.apache.catalina.startup.HostConfig deployDescriptor

2025-10-26T07:41:39 PID[6224] Error SEVERE: Error deploying deployment descriptor [D:\DWASFiles\Sites\lbwartest02\Temp\JavaFiles\147da13b-a28f-4b35-a90a-3800a3cae95b\site\wwwroot\ROOT.xml]

2025-10-26T07:41:39 PID[6224] Error java.lang.IllegalStateException: Error starting child

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:747)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:693)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1979)

2025-10-26T07:41:39 PID[6224] Error at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)

2025-10-26T07:41:39 PID[6224] Error at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

2025-10-26T07:41:39 PID[6224] Error at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

2025-10-26T07:41:39 PID[6224] Error at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:586)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:476)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1708)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:320)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:886)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)

2025-10-26T07:41:39 PID[6224] Error at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)

2025-10-26T07:41:40 PID[6224] Error at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

2025-10-26T07:41:40 PID[6224] Error at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

2025-10-26T07:41:40 PID[6224] Error at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.startup.Catalina.start(Catalina.java:795)

2025-10-26T07:41:40 PID[6224] Error at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

2025-10-26T07:41:40 PID[6224] Error at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

2025-10-26T07:41:40 PID[6224] Error at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

2025-10-26T07:41:40 PID[6224] Error at java.base/java.lang.reflect.Method.invoke(Method.java:566)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

2025-10-26T07:41:40 PID[6224] Error Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)

2025-10-26T07:41:40 PID[6224] Error ... 37 more

2025-10-26T07:41:40 PID[6224] Error Caused by: java.lang.UnsupportedClassVersionError: org/springframework/web/SpringServletContainerInitializer has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 (unable to load class [org.springframework.web.SpringServletContainerInitializer])

2025-10-26T07:41:40 PID[6224] Error at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2515)

2025-10-26T07:41:41 PID[6224] Error at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:877)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1413)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1257)

2025-10-26T07:41:42 PID[6224] Error at java.base/java.lang.Class.forName0(Native Method)

2025-10-26T07:41:42 PID[6224] Error at java.base/java.lang.Class.forName(Class.java:398)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:226)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:197)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1840)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1298)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:986)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:303)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5085)

2025-10-26T07:41:42 PID[6224] Error at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

2025-10-26T07:41:42 PID[6224] Error ... 38 more

2025-10-26T07:41:42 PID[6224] Error

复制代码

所以,根据以上错误 Java Runtime (class file version 61.0) 表示这是 Java 17 编译出来的类文件版本,而当前 JVM 只支持到 55.0,这是 Java 11 的类文件版本。 所以需要升级的是Java 的版本,而非 Tomcat 版本。

于是,把Java 版本调整到 17 后,再次访问接口。终于,成功了!!!

因为Java版本的问题导致访问404,从Java 11 + Tomcat 9.0 到 Java 11 + Tomcat 10.0 最后到 Java 17 + Tomcat 10.0。

image

接口访问效果展示:

image

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 13:43:06

化工园区企业污泥清淤压滤施工哪家资质全

化工园区企业污泥清淤压滤施工&#xff1a;资质全者为何更优&#xff1f;化工园区企业的污泥清淤压滤施工&#xff0c;是保障园区环保与生产安全的关键环节。在众多施工方中&#xff0c;资质全的企业往往更具优势。资质全体现专业实力资质是企业专业能力的重要证明。拥有全面资…

作者头像 李华
网站建设 2026/2/4 11:43:10

计算机Java毕设实战-基于springboot的汽车租赁买卖管理系统的设计与实现入库录入、租赁登记、租赁状态查询【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/2/4 6:38:09

华为OD机考双机位C卷 - 编程能力提升计划 (Java Python JS C/C++ GO )

最新华为上机考试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 华为OD机考双机位C卷 题目描述 为了提升软件编码能力,小王制定了刷题计划,他选了题库中的n道题,编号从0到n-1,并计划在m天内按照题目编号顺序刷完所有的题目(注意,小王不能用多天完成同一…

作者头像 李华
网站建设 2026/2/7 8:35:09

ORACLE检查并创建表空间和表分区

为确保系统在高并发、大数据量环境下的稳定高效运行&#xff0c;要求建立完善的表空间与表分区管理机制&#xff0c;具体包括&#xff1a;定期检查表空间使用率&#xff0c;及时发现并处理空间不足风险&#xff1b;建立分区自动创建与维护流程&#xff0c;防止因分区缺失导致的…

作者头像 李华
网站建设 2026/2/5 19:56:04

港媒盛赞“香港媳妇”徐冬冬!婚照惊艳全网,港圈作品圈粉无数

12月18日&#xff0c;徐冬冬与尹子维的婚纱照强势空降热搜&#xff0c;甜酷兼具的造型让网友直呼美貌惊艳&#xff0c;气质独一份。从戏里媚骨天成的“大嫂”到戏外被港媒追捧的“香港媳妇”&#xff0c;这位东北大妞不仅用八年分合的爱情故事打动人心&#xff0c;更在港娱圈深…

作者头像 李华