动态 JSP 编译中导入失败

2024-02-09

我们有一个大型 Web 应用程序安装,使用 Apache/Tomcat/Jasper 和 jboss。在开发环境中,JSP 是动态编译的。不幸的是,有一个包特别是即时编译似乎无法导入。对于某些类,使用完全限定的引用而不是导入是可行的,但不适用于所有类。所有相关的类都在一个 jar 中(nonEjb.jar)。预编译 JSP 工作得很好,但是每次我们需要更改受影响的文件之一时都必须这样做,这当然是非常痛苦的。这个问题已经存在很长一段时间了,我真的很想解决它,因为我准备在受影响的地区做一些工作。

这是一个小测试页。第一次导入失败。导入的两个类非常相似,唯一显着的区别是它们的包位置。 (是的,我已经验证了这两个类的包声明都是正确的。)

<%@ page contentType="text/html; charset=utf-8" %>
<%@ page errorPage="/error.jsp" %>

<%@ page import="com.elementk.lms.product.otr.OtrProviderType" %>
<%@ page import="com.elementk.lms.product.course.CourseType" %>

<html>
<body>
<hr>
Displaying the page...
<br>
<%= OtrProviderType.B24x7_PROVIDER.getId() %> value
<br>
<%= CourseType.SELF_STUDY.getId() %> value
</hr>
</body>
<html>

Result:

09 Mar 2010 21:29:40,555 ERROR [K] [RequestTimingFilter.doFilter:65] Unable to compile class for JSP:

An error occurred at line: 6 in the generated java file
The import com.elementk.lms.product.otr cannot be resolved

如果删除导入并完全限定引用(如 com.elementk.lms.product.org.OtrProviderType),我会收到相同的错误。

是什么导致 JSP 编译器找到其中一个类而不是另一个类?


我们终于确定了为什么会发生这种情况。显然,即时编译器不区分大小写,并且包 com.elementk.lms.product 包含一个名为 Otr 的类。编译器无法区分包“com.elementk.lms.product.otr”和类“com.elementk.lms.product.Otr”之间的区别。这解释了为什么即使原始导入是“com.elementk.lms.product.otr.OtrProviderType”,错误消息也仅引用“com.elementk.lms.product.otr”。

我们必须通过本质上避免问题来进行修复:我们重命名了包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态 JSP 编译中导入失败 的相关文章

随机推荐

  • 在nds的子屏幕上绘制图像

    我对 libdns 完全陌生 我尝试更改示例 Graphics Backgrounds 256 color bmp 在子屏幕上显示背景 这是我的代码 您知道在子屏幕上显示 hey typBitmap 缺少什么吗 我已经设法在顶部屏幕上显示新
  • 加载后 JavaScript 不会执行

    我的网站包含链接 当我点击一次时 目标 HTML 内容会使用 JQuery 加载到 div 中 到目前为止没有问题 我的问题是 当第三次加载下面的搜索页面时 脚本将不会执行 h1 span Search span h1 p class bi
  • 在 Shiny App 中显示 HTML 文件

    是否可以在 Shiny 应用程序 在主面板中 中显示 html 文件 该 HTML 是由 SAS 代码创建的 但我想在 Shiny 应用程序中显示 这不是一个小图像 这是 HTML 文件中的表格输出 Html 文件包含 tabele 如下所
  • 删除 Bootstrap 3 导航中的品牌

    首先 我已经访问了具有相同问题的其他主题 但没有给我任何答案 这是 Bootstrap 3 导航 正如您在左侧看到的 那里有一个 品牌 文本 用于在我删除的源中删除它 a class navbar brand href Brand a 结果
  • 如何调试 Spring MVC url 映射?

    我正在使用 Spring MVC 3 并且遇到 URL 映射问题 我有一个方法 Controller public class DocumentController RequestMapping value docs pupil class
  • 使用 Greasemonkey 删除表

    我正在尝试使用油脂猴子用我自己的桌子替换桌子 拥有该表的页面有 2 个具有相同类且没有 ID 的表 我只需要替换第二个表 用我自己的表 并且对第一个表不执行任何操作 没有什么可以真正使第二个表与第一个表不同 所以我唯一能想到的就是尝试在第二
  • 为什么RNN总是输出1

    我使用循环神经网络 RNN 进行预测 但由于某些奇怪的原因 它总是输出 1 这里我用一个玩具示例对此进行解释 Example考虑一个矩阵M维度 360 5 和一个向量Y其中包含 rowsumM 现在 使用 RNN 我想预测Y from M
  • 如何使用命令行将 TFS 工作项链接到另一个工作项

    如何使用命令提示符将现有 TFS 工作项链接到另一个工作项 TFS 中有此命令行选项吗 我知道我可以使用 tfpt exe 创建工作项或修改它 但我找不到将工作项链接到另一个工作项的选项 假设您将使用 相关 链接类型 这应该链接您的工作项目
  • 查找连续的两行

    我正在尝试编写一个查询 该查询将从 Bill 表中拉回 Estimated 标志为 true 的最新两行 问题是这些需要是连续的账单 简而言之 如果在过去两个账单周期中估算了账单 我需要在另一个表中输入一行 如果可能的话 我想在没有游标的情
  • PHP/CSS 在字符串中查找单词,更改其颜色

    PHP CSS 在字符串中查找单词 更改其显示颜色 遇到问题 找不到解决方案 有什么建议吗 谢谢 pre span style color red span pre
  • 将变量类型的 json 转换为字符串

    我正在从 API 响应中读取 json 但遇到了一个问题 因为 json 值中有多种数据类型 字符串 null bool 此外 某些键的值可以是字符串或 null 这使得将数据读入类型变得更加困难 我想将所有内容都转换为字符串以便于处理 我
  • .net 应用程序无法连接到 DB2 数据库

    错误 08001 IBM SQL30081N 检测到通信错误 使用的通信协议 TCP IP 使用的通信 API SOCKETS 检测到错误的位置 10 66 180 30 通信功能检测到错误 连接 协议特定错误代码 10061 SQLSTA
  • 忽略 Cordova iOS 启动画面配置

    我刚刚将我的 iOS Cordova 初始屏幕重新配置为启动 Storyboard 以支持 iPhone X 这可行 但现在我在启动 Storyboard 和应用程序的第一个屏幕之间出现白色闪光 我认为这是因为在视口完全加载之前闪屏被隐藏
  • 如何在 ASP.NET 中使用 Profile?

    我尝试学习 asp net 配置文件管理 但我在下面添加了 xml 名字 姓氏等 但我不能写个人资料 如果我尝试编写 Profile 属性 卓尔我的编辑简介 错误 1 当前上下文中不存在名称 配置文件 C Documents and Set
  • 根据 GUID 获取站点 URL? (SharePoint)

    有没有代码示例向我展示如何在我知道 guid 的情况下获取站点的 url 目前 我有此代码来获取网站集中的所有网站 private void getSites SPSite oSiteCollection SPContext Current
  • 如何将“for”循环的结果保存到单个变量中? [复制]

    这个问题在这里已经有答案了 我有一个for loop for x in range 1 13 print This was the average temperature in month number str x in Boston 20
  • jQuery Chosen div 落后于 Twitter Bootstrap 手风琴

    我在 Twitter Bootstrap 手风琴中使用 jQuery Chosen 插件 我遇到的问题是所选插件的下拉菜单出现在div的手风琴菜单 我尝试设置z index到更高的值 但这并没有达到目的 我举了一个我的问题的例子 http
  • VBScript WScript.Shell Run() - 系统找不到指定的文件

    我正在尝试编写一个使用 WScript Shell 的 VBScript vbs 脚本Run 方法 但 Run 似乎找不到我传入的文件 我已将脚本简化为以下代码 该代码将重现结果 可以将其复制到文本编辑器 另存为test vbs然后跑了 T
  • scikit-learn中predict与predict_proba的区别

    假设我创建了一个模型 并且我的目标变量是0 1 or 2 看来如果我使用predict 答案是 0 1 或 2 但是如果我使用predict proba 我得到一行 每行 3 列 如下所示 例如 model Classifier It co
  • 动态 JSP 编译中导入失败

    我们有一个大型 Web 应用程序安装 使用 Apache Tomcat Jasper 和 jboss 在开发环境中 JSP 是动态编译的 不幸的是 有一个包特别是即时编译似乎无法导入 对于某些类 使用完全限定的引用而不是导入是可行的 但不适