我有一个连接到redshift服务器并获得一些表条目的代码。当我在本地运行它时,它工作正常。但是当我将其构建为jar并在hadoop上运行时,我遇到了这个异常:
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
我已经在pom.xml中添加了它:
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>
我还在hadoop-env.sh的HADOOP_CLASSPATH变量中添加了jar文件位置。
我有什么想念的吗?
谢谢。
最佳答案
我更改了 jar 的位置,并且现在可以使用了。我仍然不明白为什么它没有从以前的路径拿起 jar 。
关于postgresql - 无法使用Postgresql或Redshift驱动程序连接到Redshift服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37786307/