将SpringBoot war文件部署到Tomcat导致404,本地主机工作正常

时间:2016-02-15 13:09:12

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

我一直在使用SpringBoot开发一个webapp - 在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 http://46.101.2.91:8080的ip显示了tomcat管理器,这很棒,然后我使用管理器进行部署,但在尝试访问时遇到错误。

理想情况下,我希望该应用能够覆盖ipaddress的目标网页。感谢任何帮助,谢谢。

当我点击管理员中的链接{@ 1}}时,该网址看起来不正确...

enter image description here enter image description here

编辑:根据给出的答案,我删除了.war并从webapps过滤,运行了一个mvn clean包。然后使用经理上传新的闪亮战争。在上传过程中,网页因网址http://46.101.2.91:8080/Eeeeek%2D1%2E3%2E2%2EBUILD%2DSNAPSHOT/

错误而崩溃

我回到主要部分,发现该应用已上传。 检查webapps目录也已确认,但同样的错误仍然存​​在。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

检查您的网络应用目录是此war文件还是任何文件夹

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

如果是,那么delete并使用maven重新安装或将war文件复制到webapps目录,restart Tomcat

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

我无法准确说出来但你应该尝试这些解决方案可能对你有用..

由于