【问题标题】:Deploying SpringBoot war file to Tomcat results in 404, local host works fine将 Spring Boot war 文件部署到 Tomcat 会导致 404,本地主机工作正常
【发布时间】:2016-02-15 13:09:11
【问题描述】:

我一直在使用 SpringBoot 开发 web 应用程序 - 在 localhost 上运行它可以正常工作,使用 jar 和 war 从终端运行它:

 mvn install && java -jar target/Eeeeek-0.0.1-SNAPSHOT.jar 

java -jar target/Eeeeek-1.3.2.BUILD-SNAPSHOT.war

两者都工作正常,我现在只打包为一个战争文件。

该网站在http://localhost:8080可见

我现在正尝试将它部署到由 digitalOcean 托管的我的 tomcat 管理器中。

访问 droplet 的 ip http://46.101.2.91:8080 显示了很棒的 tomcat 管理器,然后我使用管理器进行部署,但尝试访问它时遇到错误。

理想情况下,我希望应用程序访问该 IP 地址的登录页面。任何帮助表示赞赏,谢谢。

当我点击管理器中的链接时,网址是http://46.101.2.91:8080/Eeeeek%2D1%2E3%2E2%2EBUILD%2DSNAPSHOT/,看起来不正确...

编辑:根据给出的答案,我已经从 webapps 中删除了 .war 和过滤器,运行了一个 mvn clean 包。然后用管理器上传新的闪亮战争。在上传过程中,页面在 URL http://46.101.2.91/manager/html/upload?org.apache.catalina.filters.CSRF_NONCE=846E819F21EFBBE715AFBFA39F349E34 处出现错误

我回到主界面,发现应用已经上传了。 检查 webapps 目录也得到确认,但同样的错误仍然存​​在。

【问题讨论】:

    标签: java maven spring-mvc tomcat spring-boot


    【解决方案1】:

    您的主要课程是否扩展了好课程?这是我的问题。举个例子:

    @SpringBootApplication
    public class DeployTestApplication extends SpringBootServletInitializer{
    
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DeployTestApplication.class);
    }
    
    public static void main(String[] args) {
        SpringApplication.run(DeployTestApplication.class, args);
    }
    }
    

    我还必须将它添加到 Maven

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
    

    【讨论】:

      【解决方案2】:

      检查你的网络应用目录是这个war文件还是任何文件夹

      (Eeeeek-1.3.2.BUILD-SNAPSHOT) 已经存在。

      如果是这样,那么delete它并使用maven重新安装或将war文件复制到webapps目录和restartTomcat

      如果再次出现问题,请检查您的web.xml,否则我在项目部署中发现的另一个问题是主要次要版本异常问题。

      我不能确切地说,但你应该尝试这些解决方案可能对你有用..

      谢谢

      【讨论】:

      • 嗨,我尝试了你的建议并更新了帖子,我没有 web.xml...可能是因为 spring boot。
      • 这是一个 MVC 项目还是一个简单的 REST Web 服务?我认为 web.xml 是应用程序的前端控制器,所以你应该检查 `Eeeeek-1.3.2.BUILD-SNAPSHOT` 文件夹。我认为必须有一个web.xml..javabeat.net/spring-boot-spring-mvc
      • 带有 MVC 的 Spring Boot。该文件夹或任何子文件夹中没有 web.xml。第一次使用弹簧靴,所以不完全确定发生了什么。我读过的所有帖子都暗示这一切都已经处理好了
      猜你喜欢
      • 2020-06-12
      • 2015-03-10
      • 2018-12-05
      • 2020-06-17
      • 2018-05-18
      • 1970-01-01
      • 2019-02-27
      • 2015-09-03
      • 2014-07-03
      相关资源
      最近更新 更多