【发布时间】:2014-05-26 00:31:42
【问题描述】:
您好,我是 web 应用程序开发的菜鸟,但是在学习了几个教程并在 stackoverflow 上提问后,我能够构建一个 web 应用程序。 我最初遵循的教程使用 Spring Boot,所以我最终得到了一个 .jar 应用程序。但是到了部署的时候,老板告诉我要使用Tomcat,因为同一台服务器会运行PHP/Apache和Tomcat。
我关注了tutorial,了解如何将罐子转换为战争。但是我在实现中遇到了几个问题。
例如,运行java应用程序时网页可以在/src/main/webapp/resources/css中找到css文件,但当我转换为war时网页找不到该文件。在使用我没有运行 .jar 应用程序的 tomcat 时,我也会遇到空指针异常。
@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 应用程序?
感谢您的帮助
【问题讨论】:
-
你不会在 tomcat 中运行 jars。有上百万种方法可以创建 WAR 文件,具体取决于您的环境。你在使用 IDE 吗?你使用 maven、gradle、ant 还是类似的东西?
-
你能指定你从哪里得到
NullPointerException吗? -
我修改了问题以使其更清晰
标签: java spring tomcat spring-boot