oracle.jdbc.driver.OracleDriver ClassNotFoundException
这是我的错误代码。 我的classes12.jar
已作为外部jar导入。
import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginAction extends HttpServlet { Connection conn; Statement stmt; ResultSet rs; String query = "SELECT * FROM v_urja_login"; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("Hello"); String u_name = request.getParameter("uname"); String u_pass = request.getParameter("upass"); out.println(u_name); out.println(u_pass); try{ Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","urja","urja"); stmt = conn.createStatement(); rs = stmt.executeQuery(query); }catch(SQLException sex){ sex.printStackTrace(); } catch (ClassNotFoundException cnf) { cnf.printStackTrace(); } } }
堆栈跟踪:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320 at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at LoginAction.doPost(LoginAction.java:27) at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)
Class.forName("oracle.jdbc.driver.OracleDriver");
此行导致ClassNotFoundException
,因为您没有将ojdbc14.jar
文件放在项目的lib文件夹中。 或者你没有设置所需jar的classpath
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
只需将ojdbc14.jar添加到类路径中即可。
以下是在eclipse中添加ojdbc14.jar的步骤:
1)在你的项目里面
2)图书馆
3)右键单击JRE系统库
4)构建路径
5)选择“配置构建路径”
6)点击Add external JARs …
7)C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server \ jdbc \ lib
8)在这里你将获得ojdbc14.jar
9)选择这里
10)打开
11)好的
保存并运行您将获得输出的程序。
在Eclipse中,右键单击您的应用程序
运行方式 – >运行配置 – >从类型filter文本框中选择您的服务器
然后在Bootstrap Entries下的Classpath中添加classes12.jar文件并单击Apply 。
现在,运行文件……这对我有用!!
尝试通过服务器lib“C:\ apache-tomcat-7.0.47 \ lib”添加ojdbc6.jar或其他版本,
然后在eclipse中重启服务器。
方法1:下载ojdbc.jar
将ojdbc6.jar添加到部署程序集。 右键单击project-> properties-> select deployment assembly->单击’Add’ – >选择’Fileives from File System’ – >浏览到保存ojdbc6.jar的文件夹.->添加jar-> click finish – >应用/确定。
方法2:
如果你想将ojdbc.jar添加到maven依赖项中,请点击以下链接: http ://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository / 。 。 即使您正在使用maven项目,也没有必要将ojdbc添加到maven依赖项(方法2),方法1(直接添加到部署程序集)也可以正常工作。
1.右键单击您的java项目。
2.选择“RUN AS”。
3.选择“RUN CONFIGURATIOS …”。
4.在页面左侧选择你的服务器,然后你会在riht侧看到“CLASS PATH”标签,只需点击它。
5.点击“USER ENTRIES”并选择“ADD EXTERNAL JARS”。
6.选择“ojdbc14.jar”文件。
7.单击“应用”。
8.单击“运行”。
9.最后重新启动服务器,然后执行。
在Eclipse中,
在servlet中使用JDBC时,驱动程序jar必须放在项目的WEB-INF / lib目录中。
您可以添加任何具有上述指定类的JAR,如ojdbc14,ojdbc7,ojdbc6,但请确保已将其添加到类路径中。
- 来自远程目录的Java Class.forName()
- 如何设置rmiregistry使用的类路径?
- ProGuard打破了JavaFX应用程序
- readobject方法抛出ClassNotFoundException
- IntelliJ IDEA:ClassNotFoundException如果运行Debug,执行/运行确实有效
- Java无法找到主类
- Wildfly 8.1 ClassNotFound org.apache.http.conn.ClientConnectionManager
- Java错误:EventDispatchThread.run()行:不可用
- 使用JDBC连接到MS SQLServer时出现ClassNotFoundException