JBDC在开发系统上运行,但不在生产上

时间:2016-07-28 20:45:37

标签: postgresql scala jdbc gradle amazon-ec2

我尝试使用JDBC连接将Scala应用程序部署到EC2(Amazon Linux)上的生产计算机上。

在开发系统(Windows,IntelliJ Idea IDE,Java 1.8.0_74)上,我可以运行应用程序并连接到数据库而不会出现问题。

在部署机器(EC2 Amazon Linux,Java 1.8.0_101-b13)上使用gradle通过应用程序插件(更具体地说是distZip)生成的二进制文件和库,我无法获得与PostgreSQL数据库的连接我尝试运行该应用程序。

我收到以下消息:

Exception in thread "main" java.lang.ExceptionInInitializerError
        at SlackBot$.delayedEndpoint$SlackBot$1(SlackBot.scala:22)
        at SlackBot$delayedInit$body.apply(SlackBot.scala:14)
        at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
        at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
        at scala.App$$anonfun$main$1.apply(App.scala:76)
        at scala.App$$anonfun$main$1.apply(App.scala:76)
        at scala.collection.immutable.List.foreach(List.scala:381)
        at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
        at scala.App$class.main(App.scala:76)
        at SlackBot$.main(SlackBot.scala:14)
        at SlackBot.main(SlackBot.scala)
Caused by: java.sql.SQLException: No suitable driver found for
        at java.sql.DriverManager.getConnection(DriverManager.java:689)
        at java.sql.DriverManager.getConnection(DriverManager.java:208)
        at integrations.OrdersIntegration$.<init>(OrdersIntegration.scala:33)
        at integrations.OrdersIntegration$.<clinit>(OrdersIntegration.scala)

我已经使用yum在实例上安装了postgresql和posgresql-jdbc,并升级到最新版本的Java。

我还尝试从PosgreSQL站点下载最新的JDBC并将其添加到类路径中但没有成功。

我不完全确定我缺少什么,因为我能够在我的开发环境中运行此代码而不会出现问题。 没有为VM设置选项,也不需要任何程序参数。

非常感谢任何帮助。

0 个答案:

没有答案