放在本地是好好的,可以请求到,放到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包发布到服务器上去,问题就解决了