war包部署到服务器上时,项目无法访问的问题

本文记录了一次在远程云服务器上使用Tomcat部署WAR包遇到的问题及解决过程。作者发现项目无法被访问,即使webapp目录下生成了正确文件夹。最终排查到未在服务器上建立对应数据库,导致WAR包解析失败。文章强调了检查Tomcat启动时错误信息的重要性。

今天把在IDEA上做好的东西导出成war包部署到了远程的云服务器上,结果在服务器上Tomcat的webapp目录下也生成了与项目war对应的正确的文件夹,蛋是,无论怎么搞,在别的机器上总是访问不了该项目下的任何东西,但访问webapp下别的项目一切正常,重启了几次服务器都不行,到底是为啥呢?  在网上搜救无果,百思不得姐。

     最后,在第N次重启服务器的时候,tm终于发现tomcat启动时,加载该项目的war包时报了一大堆的错,虽然最后也生成了对应的文件夹,蛋是却是一个有毒的文件夹,只能看不到能摸。   排查错误,最终发现根本原因是忘了在服务器上建立对应数据库了。。。。果然还是基础太渣。。。。建库后重启服务器,everything goes fine!

    结论,任何一个项目,在启动Tomcat时如果war解析有问题,虽然看起来很正常,但是最后还是会jj,啥也访问不了,都是404,所以出现类似情况时,要首先看看tomcat启动时有没有报错,再一一对错误进行排查。

### 部署 IntelliJ IDEA 中生成的 WAR 服务器的步骤 在使用 IntelliJ IDEA 开发 Java Web 项目,若需要将项目部署服务器(如 Tomcat)上运行,可以通过导出 WAR 并将其复制到服务器的 `webapps` 目录中进行部署。以下是详细的操作步骤: #### 1. 配置项目以支持 WAR 确保项目已经正确配置为 Web 应用程序,并且可以在 `pom.xml` 文件中设置 `<packaging>war</packaging>` 来指定项目方式为 WAR [^4]。此外,还需要确认项目结构中含必要的 Web 模块(Facets)和部署描述符(`web.xml`)[ ^1 ]。 #### 2. 使用 IntelliJ IDEA 导出 WAR - 打开项目后,点击菜单栏中的 **File** → **Project Structure** → **Artifacts**。 - 在 Artifacts 窗口中,点击 **+** 号,选择 **Web Application: Archive**,然后选择对应的 Web 模块。 - 勾选 **Build on make** 选项,以便每次构建项目自动打 WAR 文件。 - 点击 **Apply** 并关闭窗口。 - 接着,从菜单栏选择 **Build** → **Build Artifacts**,然后选择 **Build**,此会在项目的 `out/artifacts` 目录下生成 WAR 文件 [^1]。 #### 3. 将 WAR 部署Tomcat 服务器 - 将生成的 `.war` 文件复制到目标服务器上的 Tomcat 安装目录下的 `webapps` 文件夹中。例如: ``` /usr/local/apache-tomcat-9.0.0.M4/webapps/ ``` - 启动或重启 Tomcat 服务器,系统会自动解压 WAR 文件并在 `webapps` 目录下生成对应的应用程序文件夹。 - 访问应用,URL 路径通常与 WAR 文件名一致(不括 `.war` 后缀)[ ^2 ]。 #### 4. 使用命令行手动打部署 如果希望跳过 IntelliJ IDEA 的图形界面操作,也可以通过命令行进入项目 `web/` 子目录执行以下命令来手动打 WAR 文件: ```bash jar -cvf myapp.war * ``` 随后按照上述步骤将 `myapp.war` 文件上传至服务器Tomcat `webapps` 目录并启动服务 [^2]。 #### 5. 自动化部署方案(可选) 对于频繁更新的项目,可以考虑配置自动化部署流程。例如,使用 FTP 插件将 WAR 文件直接上传到远程服务器,或者集成 CI/CD 工具(如 Jenkins),实现代码提交后的自动构建与部署 [^5]。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请保持优秀。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值