Java Openshift MySql在runnable jar中未发现异常类
我试图在Openshift服务器上部署一个runnable JAR文件,我的runnable JAR文件包含一个cron作业,它的功能是在我将mysql连接器JAR放在JAR文件中并部署在Openshift应用程序上的某个时间从数据库读取数据,运行时我遇到以下异常。在我的cron工作中Java Openshift MySql在runnable jar中未发现异常类,java,mysql,jar,jboss,openshift,Java,Mysql,Jar,Jboss,Openshift,我试图在Openshift服务器上部署一个runnable JAR文件,我的runnable JAR文件包含一个cron作业,它的功能是在我将mysql连接器JAR放在JAR文件中并部署在Openshift应用程序上的某个时间从数据库读取数据,运行时我遇到以下异常。在我的cron工作中 Exception in thread "main" java.lang.NoClassDefFoundError: com/mysql/jdbc/jdbc2/optional/MysqlDataSource
Exception in thread "main" java.lang.NoClassDefFoundError: com/mysql/jdbc/jdbc2/optional/MysqlDataSource
at com.fs.sstore.communicator.cronjob.db.DataSourceFactory.getMySQLDataSource(DataSourceFactory.java:46)
at com.fs.sstore.communicator.cronjob.db.DBManager.fetchScheduleRecharges(DBManager.java:29)
at com.fs.sstore.communicator.cronjob.RechargeScheduler.scheduleRecharge(RechargeScheduler.java:15)
at com.fs.sstore.communicator.cronjob.RechargeScheduler.<init>(RechargeScheduler.java:9)
at com.fs.sstore.communicator.cronjob.RechargeScheduler.main(RechargeScheduler.java:22)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 5 more
线程“main”java.lang.NoClassDefFoundError中的异常:com/mysql/jdbc/jdbc2/optional/MysqlDataSource
位于com.fs.sstore.communicator.cronjob.db.DataSourceFactory.getMySQLDataSource(DataSourceFactory.java:46)
在com.fs.sstore.communicator.cronjob.db.DBManager.fetchScheduleRecurges(DBManager.java:29)
位于com.fs.sstore.communicator.cronjob.RechargeScheduler.scheduleRecharge(RechargeScheduler.java:15)
位于com.fs.sstore.communicator.cronjob.recharescheduler.(recharescheduler.java:9)
位于com.fs.sstore.communicator.cronjob.recoverscheduler.main(recoverscheduler.java:22)
原因:java.lang.ClassNotFoundException:com.mysql.jdbc.jdbc2.optional.MysqlDataSource
在java.net.URLClassLoader$1.run(URLClassLoader.java:372)
在java.net.URLClassLoader$1.run(URLClassLoader.java:361)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:360)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 还有5个
是否有人遇到此异常?您如何打包runnable jar?runnable jar集,并将所需库导出到生成的jar中