Java 外部tomcat中的Spring Boot war例外
我已经在STS ide中开发了一个spring引导应用程序,我能够毫无例外地使用main类运行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
@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的链接