Angular应用部署至Apache Tomcat时遭遇404错误求助
检查WAR包生成路径
你在项目根目录执行jar -cvf my-angular-app.war *会把node_modules、src等无关文件都打包进去,导致Tomcat无法识别正确的静态资源。正确操作是进入ng build生成的编译产物目录(通常是dist/你的项目名)再打包:cd dist/my-angular-app jar -cvf my-angular-app.war *确认Tomcat部署目录
Tomcat的标准应用部署目录是webapps,不是你提到的wars目录。将WAR包放到D:\apis-distribution-3.8.0-dev (1)\APISdev\engine\server\apache-tomcat-9.0.75\webapps下,重启Tomcat后,Tomcat会自动解压WAR包到同名目录。验证baseHref配置一致性
确保angular.json中的baseHref与build命令参数一致,且访问路径匹配:部署后正确访问地址应为http://localhost:8080/my-angular-app(默认Tomcat端口为8080)。同时打开dist目录下的index.html,确认<base href="/my-angular-app/">已正确生成,这是资源加载路径正确的核心。查看Tomcat日志定位问题
检查Tomcat的logs/catalina.out或localhost.log,日志会记录WAR包解压状态、权限问题、资源加载失败等细节,能直接定位404的根源。确认Tomcat端口与访问地址
检查conf/server.xml中的Connector端口(默认8080),访问时必须带上正确端口,避免因端口不匹配导致404。
内容的提问来源于stack exchange,提问作者O.Man

