gpt4 book ai didi

动态 Web 应用程序 JSP 中的 java.lang.ClassNotFoundException

转载 作者:太空宇宙 更新时间:2023-11-04 06:18:33 24 4
gpt4 key购买 nike

我正在尝试从 Java 类中的 SQLLite DB 检索数据。这是 Web 应用程序使用 Beans 和表单处理的部分”,按照此处的教程: http://www.jsptut.com/forms.jsp

我收到了 java.lang.ClassNotFoundException: org.sqlite.JDBC 的持续错误

我已将 sqlite-jdbc-3.8.7.jar 添加到 java 类路径

这是我的代码:

   public int startConnection() {
Connection c = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
return CONNECTION_FAILURE;
}
System.out.println("Opened database successfully");
return CONNECTION_SUCCESSFUL;
}

这是控制台输出:

Jan 03, 2015 2:42:15 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:webapp01' did not find a matching property.
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/7.0.57
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Nov 3 2014 08:39:16 UTC
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 7.0.57.0
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Mac OS X
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 10.10
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: x86_64
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JAVA_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_25-b17
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: /Users/hadi/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: /Users/hadi/Documents/apache-tomcat-7.0.57
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/Users/hadi/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/Users/hadi/Documents/apache-tomcat-7.0.57
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=/Users/hadi/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=/Users/hadi/Documents/apache-tomcat-7.0.57/endorsed
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=UTF-8
Jan 03, 2015 2:42:15 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /Users/hadi/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
Jan 03, 2015 2:42:15 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jan 03, 2015 2:42:15 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jan 03, 2015 2:42:15 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1296 ms
Jan 03, 2015 2:42:15 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 03, 2015 2:42:15 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.57
Jan 03, 2015 2:42:16 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jan 03, 2015 2:42:16 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jan 03, 2015 2:42:16 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 913 ms
java.lang.ClassNotFoundException: org.sqlite.JDBC
Jan 03, 2015 2:42:32 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]

请任何人解决这个问题......谢谢......

最佳答案

sqlite-jdbc-3.8.7.jar 添加到 tomcat 类路径,将其移至 $CATALINA_HOME/lib

请参阅Apache Tomcat 7 - Class Loader Howto深入了解 Tomcat 类加载器的工作原理。它的部分内容是:

System — This class loader is normally initialized from the contents of the CLASSPATH environment variable. All such classes are visible to both Tomcat internal classes, and to web applications. However, the standard Tomcat startup scripts ($CATALINA_HOME/bin/catalina.sh or %CATALINA_HOME%\bin\catalina.bat) totally ignore the contents of the CLASSPATH environment variable itself, and instead build the System class loader from ...

关于动态 Web 应用程序 JSP 中的 java.lang.ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27752474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com