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

将spring boot war部署到tomcat中

卞嘉许
2023-03-14

我正在使用spring boot,我想将一个rest API war文件部署到tomcat服务器中。tomcat服务器日志中没有错误,但当我调用任何endpoint时,我得到的是404“not found”,而我从tomcat服务器得到的是相同的。

java版本:8。tomcat版本:9。

也许我错过了什么,下面是我的代码示例:

Pom:

<?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>com.test</groupId>
<artifactId>test</artifactId>
<version>1.1</version>
<packaging>war</packaging>

<name>test</name>
<description>test API</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-
8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>

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

        <!-- tag::security[] -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <!-- end::security[] -->


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

<build>
    <defaultGoal>install</defaultGoal>

    <pluginManagement>
        <plugins>
            <plugin> 
                <groupId>org.springframework.boot</groupId> 
                <artifactId>spring-boot-maven-plugin</artifactId> 
            </plugin> 
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>

        </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
 </build>
 </project>

2.application.java

@SpringBootApplication
public class TestApplication extends SpringBootServletInitializer {

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


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

}

共有1个答案

蒋星雨
2023-03-14

是的,我也有类似的错误,在我的例子中,我自动调用了Spring security session的对象,所以它显示循环引用错误。我在autowired对象的顶部添加了@Lay注释。更多详情请查看链接。

https://www.quora.com/How-can-you-fix-requested-bean-is-current-in-creating-is-there-an-unresolable-circular-reference-while-deploying-a-spring-security-application-in-tomcat

 类似资料:
  • 所以我对Spring很陌生--所以我想试试Spring Boot 我正在使用一个Maven来构建--我设置了一个视图请求,当我以“app”的形式运行它时,看起来就像它自己启动了tomcat,并且我有一个默认8080端口的服务,所以当我调用时,一切都很好。 然而,当我试图将其打包为WAR部署到服务器时,它不起作用 所以我想我应该回到基础,并将它部署到本地的tomcat服务器上,看看会发生什么 所以首

  • 我是一个使用开源的新手。我试图在这里从git构建和修改Servlet,但无法在eclipse中构建并托管在tomcat服务器上。 克隆时,repo的目录结构在这里 web.xml在WEB-INF文件夹中,它太小了,看不清楚,所以我裁剪了它。 从我所有的阅读来看,让这个服务器运行的最佳方法是在eclipse中创建一个空白的“动态Web项目”,然后将所有文件复制到其中。 这样做会为您提供项目的以下目录

  • 我正在尝试将带有WAR打包的Spring Boot应用程序部署到。应用程序部署成功,但是,当我尝试访问endpoint时,它导致404找不到。 WAR文件:application.WAR Tomcat文件夹包含以下内容和(Angular)具有 正如这里所讨论的,我添加了一个类,它扩展了,如下所示 在pom.xml中,我为spring-boot-starter-tomcat、tomcat-embed

  • 问题内容: 我在装有Tomcat 8的同一服务器上运行Jenkins 1.6(并且也尝试使用Jenkins 2.0)。我需要将Maven多模块应用程序部署到Tomcat Web应用程序。它有两个必须部署的子模块中的war文件。Deploy插件最多支持Tomcat 7,并且工作正常。但是,问题是我需要使用Tomcat 8,因为我的Web应用程序无法在Tomcat 7上运行。是否可以将War文件从Je

  • 问题内容: 我刚刚开始开发 网站 。目前,我所拥有的只是 一个HTML页面 ,该 页面 由几个 CSS样式表支持 。 我可以 从HTML和CSS页面 创建 WAR文件 吗?如何 将它们部署到Tomcat服务器上 ? 谢谢。 问题答案: 这是我的 设置 :我在Ubuntu 9.10上。 现在,这就是我所做的。 在 / usr / share中* 创建一个名为“ tomcat6-myapp ” 的文件

  • 也许我做错了什么,但是… > 我在Angular on local machine上做了一个简单的项目 我已经创建了一个文件代理。conf.json及其代码: “/inj”:{“target”:http://localhost:8080“,”secure“:false} 我已经更改了我的代理。json收件人: “scripts”:{“ng”:“ng”,“start”:“ng serve–proxy