自定义Java SSL工厂的ClassNotFoundException



我编写了自定义的java ssl工厂,在尝试与postgresql 进行ssl握手时不使用默认的ssl工厂(org.postgresql.ssl.DefaultJavaSSLFactory(

jdblUrl=jdbc:postgresql://hostname:port/dbName?sslmode=verify-ca&sslfactory=PathToMyCustomJavaSSLFactory

自定义SSL工厂类在不同的jar文件中,我正试图在主jar文件中使用。当我在eclipse中本地运行应用程序时,我能够在调用DB时成功地使用它。但是,当我将主jar推送到云铸造并尝试运行它时,我得到了自定义SSL工厂类的ClassNotFoundException。在这个jar文件中还有其他类,我可以从主jar调用它们。但仅对于自定义ssl工厂,它抛出ClassNotFoundException。

有人能帮我处理一下我可能遗漏的东西吗。

异常跟踪:

{java.lang.ClassNotFoundException: com.cf.commons.db.ssl.CustomJavaSSLFactory","tat java.net.URLClassLoader.findClass(URLClassLoader.java:449)","tat java.lang.ClassLoader.loadClass(ClassLoader.java:482)","tat sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:384)","tat java.lang.ClassLoader.loadClass(ClassLoader.java:415)","tat java.lang.Class.forName0(Native Method)","tat java.lang.Class.forNameFW(Class.java:362)","tat java.lang.Class.forName(Class.java:270)","tat org.postgresql.util.ObjectFactory.instantiate(ObjectFactory.java:50)","tat org.postgresql.core.SocketFactoryFactory.getSslSocketFactory(SocketFactoryFactory.java:64)","t... 77 more"] }

我正在使用Java 8

我使用将jar文件包含在引导加载程序类路径中,从而解决了这个问题

-Xbootclasspath/a: 

选项。但我还是不喜欢这个解决方案。

p.S,此外,堆叠式中还有另一条线索

相关内容

  • 没有找到相关文章

最新更新