如何解决使用Gradle本地导入后找不到Vertica JDBC类
我一直在尝试使用gradle将vertica JDBC添加到我的Java项目中。由于vertica JDBC不在任何存储库上,因此我不得不从他们的站点下载它,并尝试通过不同的方式在本地导入它:
compile files('lib/vertica-jdbc-10.0.0-0.jar')
implementation files('lib/vertica-jdbc-10.0.0-0.jar')
在本地安装它,然后像往常一样引用它:
mvn install:install-file "-Dfile=/path_to/vertica-jdbc-10.0.0.jar" "-DgroupId=com.vertica" "-DartifactId=vertica-jdbc" "-Dversion=10.0.0" "-Dpackaging=jar"
然后使用
compile 'com.vertica:vertica-jdbc:10.0.0'
/ implementation 'com.vertica:vertica-jdbc:10.0.0'
所有这些方法似乎都将其内置到我的jar中,并按预期与所有文件一起在/ com / vertica /下找到它。但是,使用该行时:
Class.forName("com.vertica.jdbc.Driver");
引发以下异常:
java.lang.ClassNotFoundException: com.vertica.jdbc.Driver
0 = {StackTraceElement@3115} "java.net.URLClassLoader.findClass(URLClassLoader.java:382)"
1 = {StackTraceElement@3116} "java.lang.ClassLoader.loadClass(ClassLoader.java:424)"
2 = {StackTraceElement@3117} "sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)"
3 = {StackTraceElement@3118} "java.lang.ClassLoader.loadClass(ClassLoader.java:357)"
4 = {StackTraceElement@3119} "java.lang.Class.forName0(Native Method)"
5 = {StackTraceElement@3120} "java.lang.Class.forName(Class.java:264)"
关于为什么找不到它的任何想法?我想象这是一个类路径问题,但是从我读过的实现命令来看,应该可以解决这个问题?
解决方法
解决我的误会。尝试运行项目时,我是通过intellij来执行的。 Intellij不是您的类,不是您通过gradle构建的任何jar,因此我需要通过intellij gui将jar添加为外部依赖项。尽管直接调用jar时,类是按预期包含的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。