Liferay 多对多关系引发类转换异常

2024-03-04

我正在创建一个示例来演示 liferay 中的关系。我正在以图书实体和作者的多对多关系为例。我将按照下面的博客创建此示例。

http://www.liferaysavvy.com/2014/01/liferay-service-builder-many-to-many_12.html http://www.liferaysavvy.com/2014/01/liferay-service-builder-many-to-many_12.html

但我遇到了类转换异常的问题。在博客中也有人写过它正在抛出类转换异常。

11:05:00,422 ERROR [RuntimePageImpl-2][render_portlet_jsp:132] null
java.lang.ClassCastException: com.ds.portlet.library.model.impl.AuthorImpl cannot be cast to com.ds.portlet.library.model.Author
        at com.ds.portlet.library.service.persistence.AuthorPersistenceImpl.fetchByPrimaryKey(AuthorPersistenceImpl.java:691)
        at com.ds.portlet.library.service.persistence.AuthorPersistenceImpl.findByPrimaryKey(AuthorPersistenceImpl.java:653)
        at com.ds.portlet.library.service.persistence.AuthorPersistenceImpl.findByPrimaryKey(AuthorPersistenceImpl.java:59)
        at com.liferay.portal.dao.shard.advice.ShardPersistenceAdvice.invoke(ShardPersistenceAdvice.java:54)
        at com.liferay.portal.service.persistence.impl.TableMapperImpl.getBaseModels(TableMapperImpl.java:400)
        at com.liferay.portal.service.persistence.impl.TableMapperImpl.getRightBaseModels(TableMapperImpl.java:265)
        at com.ds.portlet.library.service.persistence.BookPersistenceImpl.getAuthors(BookPersistenceImpl.java:1183)
        at com.ds.portlet.library.service.persistence.BookPersistenceImpl.getAuthors(BookPersistenceImpl.java:1162)
        at com.ds.portlet.library.service.persistence.BookPersistenceImpl.getAuthors(BookPersistenceImpl.java:1143)
        at com.liferay.portal.dao.shard.advice.ShardPersistenceAdvice.invoke(ShardPersistenceAdvice.java:54)
        at com.ds.portlet.library.service.base.AuthorLocalServiceBaseImpl.getBookAuthors(AuthorLocalServiceBaseImpl.java:374)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
        at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:62)
        at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:51)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
        at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:175)
        at com.ds.portlet.library.service.AuthorLocalServiceUtil.getBookAuthors(AuthorLocalServiceUtil.java:321)
        at org.apache.jsp.view_jsp._jspService(view_jsp.java:420)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

我想知道这背后的原因。


我希望所涉及的类在类路径上有两次 - 类似于 David Nebinger 在中的回答这个帖子 https://www.liferay.com/community/forums/-/message_boards/message/33063340。他提到的原因是:你可能有你的xxx-service.jar在全局类路径以及您的WEB-INF/lib,或者你可能戴着它WEB-INF/lib并添加了WEB-INF/service作为源文件夹,以便相同的类位于WEB-INF/classes again.

每当我看到类加载器出现类无法类型转换为其合法超类或接口的问题时,这就是类路径上重复类的问题。在古代,这还包括一个可笑的消息,即 java 对象不是 java.lang.Object 的后代 - 显然是错误的,但这意味着另一个类路径上的 java.lang.Object。

棘手的是,它们需要某种特定的实例化顺序,而这些顺序并不总是很容易重现。如果您发现始终会收到该消息的情况,那么它可能总是会以同样的方式失败。 Liferay 服务构建器中的多对多关系可能是触发这些问题的一种方式。

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

Liferay 多对多关系引发类转换异常 的相关文章

  • 如何用Java写入OS系统日志?

    Mac OS 有一个名为 Console 的应用程序 其中包含记录的消息 错误和故障 我相信 Windows 中的等效项是事件查看器 我想 Linux 上也有一个 但我不知道它是什么 也不知道它在哪里 是否可以像这样从 Java 输出获取消
  • 如何使用 Java 将 HTML 内容转换为 PDF 而不丢失格式?

    我有一些 HTML 内容 包括格式化标签 例如strong 图像等 在我的 Java 代码中 我想将此 HTML 内容转换为 PDF 文档 而不丢失 HTML 格式 有没有办法用 Java 来实现 使用 iText 或任何其他库 I use
  • 如何在java中压缩/解压tar.gz文件

    谁能告诉我在java中压缩和解压缩tar gzip文件的正确方法我一直在搜索 但我能找到的最多的是zip或gzip 单独 我写了一个包装器公共压缩 http commons apache org compress called jarchi
  • 以点作为分隔符分割字符串

    我想知道我是否要在一个字符串上分割字符串 正确的方式 我的代码是 String fn filename split return fn 0 我只需要字符串的第一部分 这就是我返回第一项的原因 我问这个是因为我在 API 中注意到 意味着任何
  • 动画图像视图

    目前我正在开发一款游戏 这是我的游戏的详细信息 用户应选择正确的图像对象 我希望图像从左到右加速 当他们到达终点时 他们应该再次出现在活动中 这是我正在处理的屏幕截图 我有 5 个图像视图 它们应该会加速 您有此类动画的示例代码吗 非常感谢
  • 为什么一个线程会中断另一个线程[重复]

    这个问题在这里已经有答案了 在Java多线程应用程序中 我们处理InterruptedThreadException 如果另一个线程中断当前线程 则会抛出此异常 现在 当另一个线程知道它将导致异常时 它可能想要中断当前线程的原因是什么 很多
  • 通过 JNI 从 Applet 调用 DLL

    我有一个 概念验证 的作品 它跨越了一些不熟悉的领域 我的任务是将 EFTPOS 机器连接到在内联网浏览器中作为小程序运行的应用程序 我暂时忽略了 EFTPOS dll 并用我选择的语言 Delphi 创建了一个简单的 JNI 修饰的 DL
  • 更改 JTextPane 的大小

    我是Java新手 刚刚在StackOverflow中找到了这段代码 ResizeTextArea https stackoverflow com questions 9370561 enabling scroll bars when jte
  • 如何在命令提示符中检查 JAVA_OPTS 值?

    我们的应用程序部署 JBoss 服务器然后抛出错误 PermGen space 然后在 jboss bat 和配置文件中设置 permgen 变量中的 java OPTS JAVA OPTs 中是否有值 assige 如何检查 如何在命令提
  • MessageDigest MD5 算法未返回我期望的结果

    我脑后的某个东西告诉我 我在这里遗漏了一些明显的东西 我正在将现有的 java 项目与第三方 api 集成 该第三方 api 使用 api 密钥的 md5 哈希进行身份验证 它对我不起作用 在调试过程中我意识到我生成的哈希值与他们提供的示例
  • Java 中 static 关键字如何工作?

    我正在阅读Java教程 http docs oracle com javase tutorial index html从一开始我就有一个问题static字段或变量上的关键字 作为Java said here http docs oracle
  • Kerberos 缓存票证

    我使用的是 Windows 7 64 位 我创建了一个简单的应用程序来对实现 PrivilegedAction 的类的 run 方法中的文件进行计数 以下是我的 jaas conf 文件 CountFiles com sun securit
  • 更改 RowLayout SWT Java 中元素的顺序

    有没有办法更改在行布局中创建的元素的顺序 我想将其显示在元素中 首先显示 例如 如果我创建 element1 则 element2 element3 element4 我想看到的布局为 元素4 元素3 元素2 元素1 这意味着最后创建的元素
  • Java 类:匿名类、嵌套类、私有类

    有人能解释一下Java中匿名类 嵌套类和私有类之间的区别吗 我想知道与每个相关的运行时成本以及每个编译器的方法 这样我就可以掌握哪个最适合用于例如性能 编译器优化的潜力 内存使用以及其他 Java 编码人员的普遍可接受性 我所说的匿名类是指
  • C++ 中的 Java ArrayList [重复]

    这个问题在这里已经有答案了 在Java中我可以做 List
  • 无法仅在控制台中启动 androidstudio

    你好 我的问题是下一个 我下载了Android Studio如果我去 路径 android studio bin 我执行studio sh 我收到以下错误 No JDK found Please validate either STUDIO
  • setKeyListener 将覆盖 setInputType 并更改键盘

    大家好 我在两个设备之间遇到问题 在实践中使用InputType和KeyListener我正在操纵一个EditText让它从数字键盘接收逗号和数字 有关更多背景信息 请检查我之前的question https stackoverflow c
  • 设计抽象类时是否应该考虑序列化问题?

    一般来说这个问题来自Eclipse建议在抽象类上添加串行版本UID 由于该类是抽象类 因此该类的实例永远不会存在 因此它们永远不会被序列化 只有派生类才会被序列化 所以我的问题是放置一个安全 SuppressWarnings serial
  • 如何使用 SAX Java 解析器读取注释文本

    我只想使用 Java 中的 SAX 解析器读取 XML 文件中对象标记的注释 这是我的文件的摘要
  • 条件查询:按计数排序

    我正在尝试执行一个标准查询 该查询返回 stackoverflow 中回答最多的问题 例如常见问题解答 一个问题包含多个答案 我正在尝试使用标准查询返回按每个问题的答案数排序的回答最多的问题 任何人都知道我应该在 hibernate cri

随机推荐

  • 创建链接服务器和数据库别名

    我有两台服务器 Server1 和 Server2 在两台服务器上我都有一个名为 QAI 的数据库 有没有一种方法可以创建一个链接服务器 其别名从 Server2 到 Server1 而不是 服务器1 QAI dbo tbBlah 将其别名
  • 使用 Windows 调度程序运行 jar 文件

    我有 jar 文件 我想从 Windows 7 中的 Windows 调度程序运行该文件 我已经给出了路径java exe在路径 脚本中和 jar c abc ab jar在参数字段中 但它不运行 我也曾在bat文件的帮助下尝试过 但它无法
  • Bash:在 OS X 下查找字符串中字符的位置

    有没有办法找到字符串中第一个字符的位置Bash under Mac OS X 就像是 stringZ abcABC123ABCabc 6 echo expr index stringZ C12 C position 如中所述高级 Bash
  • 如何在 Python 中重新运行代码?

    我有这个单词解扰器游戏 仅在 CMD 或 python shell 中运行 当用户正确或错误地猜测单词时 它会显示 按任意键再次播放 我怎样才能让它重新开始 在评估用户的输入后不要让程序退出 相反 在循环中执行此操作 例如 一个甚至不使用函
  • CSS:在同一行有3个div,中间的div占据剩余空间

    我正在构建一个工具栏 我希望以下示例中的黄色部分占据整个左侧空间 白色 http jsfiddle net MWjGH 1 http jsfiddle net MWjGH 1 div class left Some content div
  • 一起运行 Tkinter 窗口和 PysTray 图标

    我正在构建一个 tkinter gui 项目 并且正在寻找使用 tkinter 窗口运行托盘图标的方法 我发现 Pystray 库可以做到这一点 但现在我正在尝试弄清楚如何将这个库 托盘图标 与 tkinter 窗口一起使用 我设置了当用户
  • 如何使用 OpenPyXL 设置带标题的列格式

    我正在尝试以日期格式设置某些列的格式 我能够使用以下命令成功更改单个单元格的格式 date style Style number format M D YYYY ws E7 style date style 但是除了标题之外 是否有更简单的
  • 由各种分隔符分割,同时保留分隔符?

    我想分割文本 过公元年 因为无论你如何选择 简体字危及了对古代文学的研究输入 使用这三个 或更多 字符作为分隔符 我当然可以这样做 lines preg split u body 但是我不想让结果行保留其结束分隔符 一个句子也可能这样结束啊
  • 如何检查 Bigquery 上列表的某个项目是否在另一个列表项目中?

    我有一个专栏 比如 11999999999 12999999999 31999999999 和另一列 例如 5511777777777 5512888888888 5531999999999 我想做一个CASE WHEN如果第一列上的任何项
  • model.fit 上的尺寸数量错误

    我正在尝试运行这个 SimpleRNN model add SimpleRNN init uniform output dim 1 input dim len pred frame columns model compile loss ms
  • 使用一个 Iron-ajax 元素处理多个请求

    理论上来说 应该可以使用一个iron ajax通过设置多个请求的元素auto属性 然后重复设置url元素上的属性 iron ajax有一个属性叫做activeRequests 这是一个只读数组 因此它似乎支持同时对多个请求进行排队 但实际上
  • 使用 Ruby 将 XML 请求发送到 Web 服务器

    恐怕我在通过网络服务器发布文档 例如 XML 方面没有太多经验 所以如果我对 HTTP 缺乏了解 我深表歉意 我在 ruby 应用程序中设置了一个基本的 Mongrel Web 服务器127 0 0 1 port 2000 服务器 我在同一
  • MongoDB 服务器无法使用 gitlab-ci 在 gitlab runner 上启动

    现在我正在使用 Ruby 和 Mongo 开发一个应用程序 但是当我使用 gitlab ci 部署应用程序时 我陷入了困境 似乎 mongo 服务器没有在 gitlab runner 的测试环境中启动 这是我的 gitlab ci yml
  • 可变集合有文字语法吗?

    我知道我可以创建一个NSArray with foo bar or an NSDictionary with 0 foo 1 bar 是否有用于创建的文字语法NSMutableArray or an NSMutableDictionary
  • 如何为列表中的 ::marker 添加 CSS 背景?

    我有一个 HTML 有序列表 其结构如下 ol li class myclass First Element li li class myclass First Element li li class myclass First Eleme
  • 将 CSS 对象转换为样式标签

    有时我被迫以编程方式向 DOM 添加 CSS 样式 如果您需要一个理由 想象一下编写一个小型 ui 小部件 它具有自己的样式 但应该仅包含一个 js 文件 以便于处理 在这种情况下 我更喜欢使用对象表示法在脚本代码中定义样式 而不是混合规则
  • 如何使用新的 UDF 功能来创建“动态 SQL 语句”?

    如何使用新的 UDF 功能来创建 动态 SQL 语句 有没有办法使用 UDF 来根据模板和输入变量构造 SQL 语句 然后运行此查询 文档https cloud google com bigquery user definition fun
  • AFNetworking - 下载多个文件+通过 UIProgressView 进行监控

    我正在尝试将代码从 ASIHTTPRequest 更改为 AFNetworking 目前我想选择 10 15 个不同的 HTTP URL 文件 并将它们下载到文档文件夹中 使用 ASIHTTPRequest 就很容易了 myQueue se
  • 将 java 远程调试器端口公开到互联网是否安全?

    我本来打算公开一个端口 用于通过互联网远程调试基于 Java 的 Web 服务 但三思而后行 我意识到它没有任何身份验证 从理论上讲 似乎可以编写一个工具 附加到远程调试器端口 并通过 Java API 执行任意系统命令 或者修改 转储数据
  • Liferay 多对多关系引发类转换异常

    我正在创建一个示例来演示 liferay 中的关系 我正在以图书实体和作者的多对多关系为例 我将按照下面的博客创建此示例 http www liferaysavvy com 2014 01 liferay service builder m