Connection conn = null ;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;就这么很简单的几行代码, 总是报Exception in thread "main" java.lang.NullPointerException错误,  我导入了oracle的jar包的,然后总是在Class.forName("oracle.jdbc.driver.OracleDriver");这一行就错了。求解。。 数据库oracleexceptionnull

解决方案 »

  1.   

    我发现错误在哪里了, 我在连接数据库之前加了这
    Properties props = new Properties();
    props.setProperty("path", "C:\\Users\\vincent\\Desktop\\log4j.properties");
    System.setProperties(props);
    三句话, 经测试发现, 如果把最后一句话注释掉, 运行正常, 而如果加上最后一句话, 就会出现上面的错误,  求解, 这是为什么。 ?  我该怎么解决。? 
      

  2.   

    报的错误是
    Exception in thread "main" java.lang.NullPointerException
    at java.lang.String.startsWith(String.java:1422)
    at java.lang.String.startsWith(String.java:1451)
    at java.util.jar.JarFile.isKnownToNotHaveClassPathAttribute(JarFile.java:519)
    at java.util.jar.JarFile.hasClassPathAttribute(JarFile.java:459)
    at java.util.jar.JavaUtilJarAccessImpl.jarFileHasClassPathAttribute(JavaUtilJarAccessImpl.java:15)
    at sun.misc.URLClassPath$JarLoader.getClassPath(URLClassPath.java:899)
    at sun.misc.URLClassPath.getLoader(URLClassPath.java:300)
    at sun.misc.URLClassPath.getResource(URLClassPath.java:167)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at com.main.Main.main(Main.java:32)