嗨,我在网络应用程序开发方面做了一个菜鸟,但在完成了几个教程并在stackoverflow上提问后,我能够构建一个Web应用程序。 我最初使用的教程使用Spring Boot,因此我最终得到了一个.jar应用程序。但是当它是部署时间时,我的老板告诉我使用Tomcat,因为同一台服务器将运行PHP / Apache和Tomcat。
我按照tutorial关于如何将jar转换为战争。但是我在实现中遇到了一些问题。
例如,网页可以在运行java应用程序时在/ src / main / webapp / resources / css中找到css文件,但是当我转换为war时,网页无法找到该文件。我在使用tomcat时也会得到一个空指针异常,我没有运行.jar应用程序。
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
ApplicationContext ctx = application.context();
MyJDBCTransaction myJDBCTransaction = ctx.getBean(MyJDBCTransaction.class);
return application.sources(MyApp.class);
}
当我分析日志时,违规代码是
MyJDBCTransaction myJDBCTransaction = ctx.getBean(MyJDBCTransaction.class);
基本上,使用Spring Boot创建的jar一切正常(包括JDBC事务)但是我在部署war文件时遇到了麻烦
有没有办法在Tomcat中运行.jar应用程序?
感谢您的帮助
答案 0 :(得分:0)
Here您将找到有关如何运行war文件的一些说明。
这个想法是,当从一个罐子换成一个战争取代了对 主 方法的需求时,但需要你配置一个不同的"信号& #34;关于如何启动应用程序的servlet容器。你可以通过扩展 SpringBootServletInitializer
来做到这一点