IBM Bluemix、JavaBuildpack、部署问题

IBM Bluemix, JavaBuildpack, Deployment issue

我开发了一个在 Tomcat 上运行的应用程序,并尝试使用 java_buildpack 在 IBM Bluemix 上推送该应用程序,但该应用程序未启动。

我在日志中看到的原因是:"java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver"

DB2 的 JDBC 驱动程序需要位于 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)

您可以将 DB2 driver JAR 添加到 Web 应用程序的 WEB-INF/lib 目录中。这将在部署期间由 Tomcat 自动加载。

/WEB-INF/lib/ - This directory contains JAR files that contain Java class files (and associated resources) required for your application, such as third party class libraries or JDBC drivers.

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

您的应用是否必须 运行 针对 java buildpack?您能否针对 Bluemix 中的默认构建包尝试 运行ning,即 WebSphere Liberty 构建包。

cf push <appname>