java ubuntu 中的 java.lang.ClassNotFoundException [关闭]
Posted
技术标签:
【中文标题】java ubuntu 中的 java.lang.ClassNotFoundException [关闭]【英文标题】:java.lang.ClassNotFoundException in java ubuntu [closed] 【发布时间】:2016-01-12 04:30:41 【问题描述】:java.lang.ClassNotFoundException: org.apache.hadoop.hive.jdbc.HiveDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.testdemo.TestFile.main(TestFile.java:13)
我已在库中添加了所有必需的 jar 文件,但导致相同的错误
【问题讨论】:
你在类路径中添加了HiveDriver??? 是的,但它不起作用... 【参考方案1】:在您的类路径中添加 hive-jdbc jar。它将解决您的问题。
【讨论】:
【参考方案2】:java.lang.ClassNotFoundException
表示一个类被引用但未找到。
com.testdemo.TestFile.main
中引用了org.apache.hadoop.hive.jdbc.HiveDriver
类,但com.testdemo.TestFile.main
找不到org.apache.hadoop.hive.jdbc.HiveDriver
。这通常是由于他们引用的类不在被引用的位置,或者在项目文件的同一层。
希望这会有所帮助。
【讨论】:
【参考方案3】:这是因为 hive-jdbc jar 不在类路径中。
解决方案 1:您使用 -classpath 参数。您可以使用相对路径或绝对路径。
bash$ java -classpath path/to/hive-jdbc-jar/file MyMainClass
方案二:也可以通过环境变量指定classpath,见PATH and CLASSPATH:
bash$ export CLASSPATH="path/to/hive-jdbc-jar/file:path/tojar/file2"
bash$ javac MyMainClass.java
【讨论】:
以上是关于java ubuntu 中的 java.lang.ClassNotFoundException [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
无法初始化编译器:找不到编译器镜像中的对象 java.lang.Object
Ubuntu Tomcat7 java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
无法加载 Xuggle 库:java.lang.UnsatisfiedLinkError