SpringBoot部署到Linux上AppserverApplication,访问不到控制层

放在本地是好好的,可以请求到,放到Linux上去的话就直接404,

解决办法:

SpringBoot有个加载类叫AppserverApplication。这个大家应该都知道,我们平常都是如下写:

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

我们这样发布到放到服务器上去的话,访问后台是访问不到的,所以我们需要继承一个类 SpringBootServletInitializer 代码如下:

@SpringBootApplication

public class AppserverApplication extends SpringBootServletInitializer {

public static void main(String[] args) throws IOException {
// 程序启动入口
Properties properties = new Properties();
InputStream in = AppserverApplication.class.getClassLoader().getResourceAsStream("application.properties");
properties.load(in);
SpringApplication app = new SpringApplication(AppserverApplication.class);
app.setDefaultProperties(properties);
app.run(args);
/*EmbeddedServletContainerAutoConfiguration*/

}

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// TODO Auto-generated method stub
builder.sources(this.getClass());
return super.configure(builder);


}
}
这样,重新打成war包发布到服务器上去,问题就解决了

  

原文地址:https://www.cnblogs.com/wxhbk/p/6672733.html