如何将我之前 运行 在嵌入式 Jetty 中的 Eclipse Tapestry Web 应用程序项目部署到独立 Jetty?
How do I deploy my Eclipse Tapestry web app project previously running in an embedded Jetty to a standalone Jetty?
我有一个使用 Eclipse 开发的 Tapestry Web 应用程序,之前 运行 使用 Maven jetty 插件使用嵌入式 Eclipse jetty,更准确地说使用 jetty:run。
该应用程序是使用 Tapestry 5.3.8 构建的,并使用 Hibernate 作为持久性提供程序。后端是 XAMPP 安装。
当我将应用程序导出到 WAR,并将其放入独立的 jetty webapps 文件夹并启动 jetty 时,出现以下错误:
Render queue error in BeginRender[Index:layout.pagelink]:
Error obtaining injected value for field somePkg.pages.TestData.em:
Unable to add method javax.persistence.EntityGraph createEntityGraph(java.lang.String) to
class $EntityManager_14cbc42cc34: java.io.IOException: invalid constant type: 15
em
是页面加载时注入的EntityManager
我认为这与 javassist / java 8 有关。后来的 Tapestry 版本(包括 5.3.8)放弃了 javassist,转而使用 ASM/Plastic.
你能运行从命令行执行以下操作吗:
mvn dependency:tree
寻找 javassist 依赖项,从记忆中 hibernate 可能会使用它。可能最好查看 javassist 版本是否与 java 8 兼容。如果不兼容,您将需要使用兼容 jre8 的 hibernate/javassist 版本或 运行 与 JRE7。
我有一个使用 Eclipse 开发的 Tapestry Web 应用程序,之前 运行 使用 Maven jetty 插件使用嵌入式 Eclipse jetty,更准确地说使用 jetty:run。
该应用程序是使用 Tapestry 5.3.8 构建的,并使用 Hibernate 作为持久性提供程序。后端是 XAMPP 安装。
当我将应用程序导出到 WAR,并将其放入独立的 jetty webapps 文件夹并启动 jetty 时,出现以下错误:
Render queue error in BeginRender[Index:layout.pagelink]:
Error obtaining injected value for field somePkg.pages.TestData.em:
Unable to add method javax.persistence.EntityGraph createEntityGraph(java.lang.String) to
class $EntityManager_14cbc42cc34: java.io.IOException: invalid constant type: 15
em
是页面加载时注入的EntityManager
我认为这与 javassist / java 8 有关。后来的 Tapestry 版本(包括 5.3.8)放弃了 javassist,转而使用 ASM/Plastic.
你能运行从命令行执行以下操作吗:
mvn dependency:tree
寻找 javassist 依赖项,从记忆中 hibernate 可能会使用它。可能最好查看 javassist 版本是否与 java 8 兼容。如果不兼容,您将需要使用兼容 jre8 的 hibernate/javassist 版本或 运行 与 JRE7。