【问题标题】:War deployment on remote Ubuntu tomcat 8.5 not working - but working on local tomcat 8.5远程 Ubuntu tomcat 8.5 上的战争部署不起作用-但在本地 tomcat 8.5 上工作
【发布时间】:2019-05-17 00:56:58
【问题描述】:

我尝试使用 gui 管理器在远程 ubuntu tomcat 8.5 服务器上部署我的 war 文件。 但是部署失败并返回此错误:

[org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/rest-api-0.0.1-SNAPSHOT]]]

这是我的 pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org
/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.7.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.faceRecon</groupId>
<artifactId>rest-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>rest-api</name>
<description>faceRecon rest-api</description>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <start-class>com.faceRecon.restapi.Application</start-class>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

这是我的 java 类起点:Application.java

package com.faceRecon.restapi;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import  org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class Application extends SpringBootServletInitializer{

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder     application) {
        return application.sources(Application.class);
    }

}

【问题讨论】:

  • 考虑dockerize你的应用-为了以后省略这类问题
  • 嘿@OleksandrPapchenko!感谢您的提示,我一开始就在考虑这个问题,但是由于我正在运行windonws10基本版,所以我无法安装docker,显然它需要专业版。但我可能会想办法解决,因为部署我现在的方式非常痛苦
  • 在 ubuntu VM 中运行 docker)

标签: java spring maven spring-boot tomcat


【解决方案1】:

这是完整的错误信息吗?你检查过“catalina.log”文件吗?

在我看来,您可能忘记在远程 Tomcat 上提供 MYSQL 驱动程序。

尝试将驱动程序复制到 Tomcat 的“lib”目录并正确配置,如下例所示:Tomcat MYSQL DBCP

【讨论】:

  • 确实是这样,非常感谢您的帮助,现在可以使用了
猜你喜欢
  • 2019-03-21
  • 2020-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多