当前位置: 首页 > 知识库问答 >
问题:

在tomcat中部署WAR

东门晨
2023-03-14

我已经在archlinux上安装了tomcat,我尝试了tomcat7和Tomcat8。根据包括官方文档在内的多个来源,部署WAR文件就像将其放入webapps文件夹(在我的示例中是/var/lib/tomcat7/webapps)一样容易。WAR文件被分解。但我不知道如何访问我的web应用程序。在localhost:8080上有一个tomcat网页。我还尝试了localhost:8080/name-of-the-war-file,但这只让HTTP状态为404。

我用于测试的应用程序是关于spring Boot的第一个指南:http://spring.io/guides/gs/spring-boot/

我修改了maven构建文件pom.xml以在运行'mvn package'时生成一个WAR文件:

<?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>

    <groupId>org.springframework</groupId>
    <artifactId>gs-spring-boot</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.2.RELEASE</version>
    </parent>

    <packaging>war</packaging>

    <dependencies>
        <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>
    </dependencies>

    <properties>
        <java.version>1.7</java.version>
    </properties>


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

</project>

共有1个答案

尹冠宇
2023-03-14

除了修改pom.xml以生成WAR文件之外,还必须为web应用程序配置tomcat。以前,这是通过web.xml文件完成的。如今,这可以从应用程序本身中归档。SpringBootServletInitializer和WebApplicationInitializer是需要查找的提示。我发现让我全部运行的最简单的方法是以以下方式修改application.java:

package hello;

import java.util.Arrays;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

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

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

        System.out.println("Let's inspect the beans provided by Spring Boot:");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            System.out.println(beanName);
        }
    }
}

现在可以看到“春靴的问候!”在http://localhost:8080/gs-spring-boot-0.1.0/(gs-spring-boot-0.1.0.WAR是部署的WAR文件的名称)上。

 类似资料:
  • 我试图在独立的Tomcat服务器中部署我的Spring Boot应用程序(war),但每次我都得到一个关于Logger的错误。你对这个案子有什么想法吗? 正如您所看到的,我使用的是tomcat 8.0.24、Spring Boot 1.2.5.Release和java.Version1.7。 我的项目非常简单(它作为一个jar工作): 1.主APP: 2.控制器

  • 5.使用cmd重新启动tomcat。 “信息:部署web应用程序目录C:\apache-tomcat-7.0.77\webapps\MyProject Jun 07,2017 4:50:19 PM org.apache.catalina.startup.hostconfig deployDirectory信息:web应用程序目录C:\apache-tomcat-7.0.77\webapps\MyP

  • 我用命令运行了一个spring boot web应用程序。但是,当将打包字段更改为war(在pom.xml中)并将其构建为war时,它未能在tomcat 7中运行。 我把我pom.xml的父母变成: 而且: 我的错误是: 我的问题是: 这里发生了什么,如何克服? 使用Spring-start真的安全吗?因为嵌入式服务器库似乎影响了它部署到j2ee容器中的可靠性。我知道,它仍然是Milestone版

  • 我在eclipse IDE中有一个ant项目。Ant build在dist文件夹中创建一个war。我将war复制到Tomcat webapps文件夹并成功部署它。现在,我将Tomcat添加到eclipse中,并尝试在这里部署war,它会忽略war文件。它没有给出任何例外bu也没有做任何有用的事情。下面是完整的Tomcat日志- 它是一个动态的Web模块项目。在Eclipse中设置Tomcat时是否

  • 在Tomcat中手动部署WAR文件 关于如何在internet上的Tomcat中部署war文件,有很多例子,但它只展示了如何在根目录中部署war文件。如果我想让我的应用程序所在的子目录名为“myfolder”,该怎么办。所以我的网址:https://localhost:8080/myfolder/index.html.我需要在webapps中创建一个名为“myfolder”的文件夹,并在那里部署我

  • 我正在开发简单的JAX-WS WebService。我正在使用ANT构建脚本创建WAR文件。该文件在部署到Tomcat7服务器时,抛出以下异常,并出现如下部署错误。 JAXB 2.1 API是从bootstrap classloader加载的,但是这个RI(从jar:file:/d:/dreamsoln/server/apache-tomcat-7.0.29/webapps/webserviced