2014-04-11 49 views
0

嗨,我是一個noob當涉及到web應用程序開發,但在遵循幾個教程,並在stackoverflow問問題後,我能夠建立一個Web應用程序。 我最初遵循的教程使用Spring Boot,因此我最終使用了.jar應用程序。但是在部署時,我的老闆告訴我使用Tomcat,因爲同一臺服務器將運行PHP/Apache和Tomcat。在tomcat中運行.jar

我跟着這個tutorial關於如何將jar轉換爲war。但是我在執行過程中遇到了幾個問題。

例如,當運行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); 

基本上,一切都OK使用由Spring啓動創建的JAR(包括JDBC事務),但我惹上麻煩部署戰爭文件

有沒有辦法在Tomcat中運行.jar應用程序?

感謝您的幫助

+0

你不在tomcat中運行jar。根據您的環境,有一百萬種方法來創建WAR文件。你在使用IDE嗎?你使用maven,gradle,ant還是其他類似的東西? – FrobberOfBits

+0

你能指定你在哪裏得到'NullPointerException'嗎? – ka2m

+0

我修改了這個問題,使其更清晰 – user3386275

回答

0

Here,你會發現如何讓戰爭文件運行一些指令。

的想法是,從廣口瓶中,戰爭改變時替換爲方法的需要,但要求配置不同的「信號」關於如何啓動應用程序的servlet容器。你通過擴展SpringBootServletInitializer