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>
我开发了一个在 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>