Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 外部tomcat中的Spring Boot war例外_Java_Spring_Spring Boot_Maven_War - Fatal编程技术网

Java 外部tomcat中的Spring Boot war例外

Java 外部tomcat中的Spring Boot war例外,java,spring,spring-boot,maven,war,Java,Spring,Spring Boot,Maven,War,我已经在STS ide中开发了一个spring引导应用程序,我能够毫无例外地使用main类运行 @SpringBootApplication public class Java3Application { public static void main(String[] args) { SpringApplication.run(Java3Application.class, args); } } public class ServletInitializer

我已经在STS ide中开发了一个spring引导应用程序,我能够毫无例外地使用main类运行

@SpringBootApplication
public class Java3Application {
    public static void main(String[] args) {
        SpringApplication.run(Java3Application.class, args);

    }
}

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        setRegisterErrorPageFilter(false);  
        return application.sources(Java3Application.class);
    }
}
我使用以下插件和包装生成了同一项目的war:

<packaging>war</packaging>

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
战争
org.springframework.boot
springbootmaven插件
也有这样的依赖关系,

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

org.springframework.boot
弹簧启动机tomcat
假如
但是当我的一个rest控制器被命中时,生成的war会给出空指针异常,但在主类中同样可以正常工作。
我的情况如何??我的war打包是错误的还是足够???

要使spring启动应用程序在外部tomcat中运行,必须将其扩展到SpringBootServletilizer。修改您的代码如下

@SpringBootApplication
public class Java3Application extends SpringBootServletInitializer{
    public static void main(String[] args) {
        SpringApplication.run(Java3Application.class, args);

    }
}

在这种情况下,它似乎不是一个配置问题。您是否在任何一个特定API中看到空指针,或者所有API都抛出NPE?我只有两个rest控制器,HttpAdapter和HttpNoRespAdapter,这两个控制器正受到另一个应用程序的攻击。根据这些信息很难找出根本原因。您可以提供控制器类pom.xml etcokay吗?我提供pom.xml的链接