2015-09-08 73 views
1

我開發了一個在Tomcat上運行並嘗試使用java_buildpack推送IBM Bluemix上的應用程序但應用程序未啓動的應用程序。IBM Bluemix,JavaBuildpack,部署問題

,我可以在日誌中看到的原因是:「拋出java.lang.ClassNotFoundException:com.ibm.db2.jcc.DB2Driver」

的JDBC驅動程序DB2必須在Tomcat中的lib文件夾。

由於這是我第一次使用JAVABUILDPack在Bluemix上部署,我真的不知道如何將DB2 Jar推送到Bluemix上的Tomcat/lib文件夾。

請幫忙。

下面是日誌: -

Catalina.core.ContainerBase.[Catalina].[localhost].[/] SEVERE Exce 
 
ption opening database connection 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT java.sql.SQLException: com.ibm.db2.jcc.DB2Driver 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:644) 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT at org.apache.catalina.realm.JDBCRealm.startInternal(JDBCRealm.java:717) 
 

 
2015-09-06T18:43:41.99+0200 [App/0]  OUT at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor 
 
.java:617) 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT at java.lang.Thread.run(Thread.java:745) 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT Caused by: java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
 
2015-09-06T18:43:41.99+0200 [App/0]  OUT at java.lang.Class.forName0(Native Method)

回答

3

您的應用程序是否有權對java的運行buildpack?您可以嘗試運行Bluemix中的默認構建包,即WebSphere Liberty Buildpack。

cf push <appname> 
+0

我無法使用Websphere Liberty Buildpack,因爲我的應用程序使用Tomcat Realm。我最初也嘗試過,但我的應用程序的一半功能無法正常工作。 –

+2

您可能可以分叉java buildpack,然後將DB2 jar放在https://github.com/cloudfoundry/java-buildpack/tree/master/resources/tomcat – RandalAnders

+0

上,JDBC錯誤現在可以按照您的方式解決說...非常感謝你的幫助。 –

1

您可以添加DB2 driver JAR到WEB-INF/lib目錄目錄爲Web應用程序。這將在部署期間由Tomcat自動加載。

/WEB-INF/lib中/ - 該目錄包含了包含各種應用程序所需的Java類文件(及相關資源),如第三方類庫或JDBC驅動程序JAR文件。

https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html#Shared_Library_Files

+0

是的,DB2 Jar文件已經存在於WEB-INF/lib中。 當我在本地服務器上運行相同的應用程序時,我也必須在運行配置中添加JAR,否則應用程序會拋出相同的錯誤。 –

+0

你能分享源代碼嗎? –

+0

由於這個項目是我的大學,我不能公開分享代碼,你可以請幫我通過Skype。我會在那邊分享我的團隊觀察員,你可以幫助我。 我的Skype ID是: - suneetaks 我在網上用Skype –