Java 在tomcat中运行.jar

Java 在tomcat中运行.jar,java,spring,tomcat,spring-boot,Java,Spring,Tomcat,Spring Boot,大家好,我是一个网络应用开发的新手,但在stackoverflow上学习了几个教程并提出了一些问题之后,我终于能够构建一个网络应用了。 我最初遵循的教程使用SpringBoot,因此我最终使用了一个.jar应用程序。但在部署时,我的老板告诉我使用Tomcat,因为同一台服务器将运行PHP/Apache和Tomcat 我接着介绍了如何将罐子转换为战争。但是我在实现过程中遇到了几个问题 例如,当运行java应用程序时,网页可以在/src/main/webapp/resources/css中找到css

大家好,我是一个网络应用开发的新手,但在stackoverflow上学习了几个教程并提出了一些问题之后,我终于能够构建一个网络应用了。 我最初遵循的教程使用SpringBoot,因此我最终使用了一个.jar应用程序。但在部署时,我的老板告诉我使用Tomcat,因为同一台服务器将运行PHP/Apache和Tomcat

我接着介绍了如何将罐子转换为战争。但是我在实现过程中遇到了几个问题

例如,当运行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);
基本上,使用SpringBoot创建的jar一切正常(包括JDBC事务),但部署war文件时遇到了麻烦

有没有办法在Tomcat中运行.jar应用程序

感谢您的帮助

您将找到一些有关如何运行war文件的说明


其思想是,当从jar更改为war时,不再需要使用main方法,而是需要为servlet容器配置不同的“信号”,说明如何启动应用程序。您可以通过扩展一个SpringBootServletializer

来实现这一点,而不用在tomcat中运行JAR。创建WAR文件的方法有一百万种,具体取决于您的环境。您正在使用IDE吗?您是否使用maven、gradle、ant或类似的工具?您能否指定从何处获取
NullPointerException
?我修改了这个问题以使其更清晰