今天仿照尚学堂的shopping项目写了个开头,就出现了错误:
org.apache.jasper.JasperException: Unable to compile class for JSP
某类不可以被引用(这里把日志翻译了一下)
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
开始以为是因为少jar引起的,后来把和shopping示例项目相同的jar包都copy过来,重新启动还是不行。
后来看到一篇文章说他移植的时候也遇到了这个问题,然后我又重新检查了一下编译class的路径,才发现WEB-INF下面没有classes文件夹,当然也就没有将编译的类放到这个文件夹底下。
解决方法:
在WEB-INF底下建classes文件夹,然后在properties中设置如附件所示
分析原因:
很多问题其实都可以从源头找到问题,就比如这个问题。其实最终都是读的class文件。
相关推荐
错误“ORA-28040: 没有匹配的验证协议”通常是由于缺少合适的Oracle JDBC驱动或驱动版本不兼容引起的。当你在尝试连接Oracle 12c数据库时遇到这个问题,添加ojdbc7.jar到你的项目类路径(ClassPath)可以解决这个...
2. **CloudSim JAR包**:压缩包中的"cloudsim中的.JAR包"可能包含CloudSim的核心库和其他依赖。在使用CloudSim时,你需要将这个JAR文件添加到你的项目类路径(classpath)中。如果你使用的是IDE如Eclipse或IntelliJ ...
标签简洁地指出了问题的核心——缺少这两个特定的JAR文件。 至于压缩包子文件的文件名称"a9be67c3d07042d29ceb915194ce3104",这看起来像是一个哈希值或者是文件的唯一标识。在实际操作中,您需要确保这个文件名...
如果在"java-json-jar包.zip"中包含的是Jackson库,那么可能是因为在尝试使用Sqoop进行数据导入或导出时遇到了问题,可能需要这个库来处理JSON格式的数据。 Gson是Google提供的一个库,用于在Java对象和JSON数据...
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 这个错误的发生,基本上都是因为缺少一个jar包引起的,把该jar包加入你的build path 即可。
SSH整合在IT行业中通常指的是Spring、Struts和Hibernate这三个开源框架的集成应用。Spring作为核心容器,负责管理对象和依赖...使用这个jar包,开发者可以避免因缺少依赖而引起的错误,从而更专注于业务逻辑的实现。
"bcprov-ext-jdk15on-154.jar" 和 "bcprov-jdk15on-154.jar" 是两个非常重要的工具jar包,它们属于Bouncy Castle加密库,专门用于解决Java中的加密和安全问题,尤其是当系统遇到"javax.net.ssl.SSLException: java....
dom4j-1.6.1.jar 可以解决hibernate因缺少dom4j-1.6.1.jar包引起的以 dom4j/开头的exception
4. **缺少必需的库**:除了主驱动之外,可能还需要其他Oracle库,如oci.jar(对于本地Oracle连接)或ucp.jar(统一连接池)。 解决这些问题通常需要检查配置信息,确认JDBC驱动版本正确,并确保所有依赖项已妥善...
对于"java-json.jar"这个特定的文件,它很可能是Sqoop在处理JSON数据时使用的库,因为JSON是常见的数据交换格式,特别是在大数据处理中。 首先,我们需要检查 Sqoop 的配置。确保所有必要的配置参数,如数据库连接...
总的来说,"Can not find the tag library descriptor"错误通常是因为缺少必要的JSTL依赖或配置不正确。通过检查和修正这些方面,通常可以成功解决这个问题,使得JSTL标签在JSP页面中正常工作。
4. **JAR包不兼容**:某些JAR包可能与MyEclipse 10.7不兼容,导致导出失败。这时,可以尝试更新JAR包到最新版本,或者寻找替代的库。 针对上述问题,解决办法包括: 1. **清理项目**:执行“Project > Clean”命令...
而且,有时候即便找到了相应的 jar 包,也可能发现其中缺少必要的类或版本不兼容等问题。 通过使用 Maven,开发者可以通过简单的坐标配置来获取所需的 jar 包及其所有依赖。Maven 会自动从中央仓库下载这些 jar 包...
标题和描述中提到的问题——“android-support-v7.jar类不全”,指的是在项目中使用的`android-support-v7.jar`文件可能不完整,缺少了一些必要的类,导致编译或运行时出现错误。 解决这个问题的方法有以下几种: ...
但是,也要注意定期更新离线包,以避免因为依赖过旧导致的问题。 总之,"Maven离线依赖包v1"是为了在离线环境中解决Java项目依赖问题的一个解决方案,它提供了大量的库文件,便于开发者在没有网络的情况下也能进行...
在搭建spring项目时通常需要这些jar包 commons-logging-1.1.3.jar spring-aop-4.0.6.RELEASE.jar spring-beans-4.0.6.RELEASE.jar spring-context-4.0.6.RELEASE.jar spring-core-4.0.6.RELEASE.jar spring-...
当你看到“catalina.jar cannot find”这样的错误信息时,通常意味着Tomcat无法正常启动,因为缺少了这个关键的类库。 错误"**catalina.jar cannot find**"可能由多种原因引起: 1. **缺失或损坏**:最直接的原因...
首先,我们要明确问题的核心:Jira 7.2不能识别或使用MySQL 5.7提供的驱动包`mysql-connector-java-5.1.39-SNAPSHOT-bin.jar`。这通常是因为Jira在启动时未能找到合适的驱动,或者驱动版本与Jira支持的版本不匹配。...
这一错误通常表明,JVM未能找到`BasicDataSource`类,这通常是由于缺少必要的jar包导致的。 **解决方案:** 1. **添加缺失的jar包:** - `commons-pool.jar`:提供对象池功能,用于管理`BasicDataSource`中数据库...