java - 具有类路径问题的 grails war 的 Tomcat 部署

标签 java tomcat grails classpath

我正在将 WAR 部署到 Windows 2003 Server 机器上的 Tomcat 6 或 Tomcat 7 服务器中。错误看起来像

java.lang.Exception: Error initializing iSec web service proxy: Unable to create JAXBContext for generated packages: "com.integrity_apps" doesnt contain ObjectFactory.class or jaxb.index.

这是我之前在 tools.jar 不在我的应用程序的类路径中时得到的。我使用默认 Web 容器从 STS 运行 grails 应用程序,我能够通过在 lib 目录中使用 tools.jar 重新安装 JDK 并确保正确设置 JAVA_HOME 来解决此问题。

我在服务器上尝试了相同的步骤 - 仅安装 JDK,确保 JAVA_HOME 指向它,并将我的 WAR 放入 Tomcat 容器中。我仍然收到错误。任何人都可以提出为什么会发生这种情况吗?

作为进一步的数据点,我注意到如果在服务器上,我直接从命令提示符运行 Tomcat7.exe(JAVA_HOME 设置为系统变量),错误就会消失。如果我从服务管理器运行它,错误又回来了。 谢谢

最佳答案

看起来“com.integrity_apps”是包含 JAXB bean 类的包吗?我认为它在包中缺少 ObjectFactory 类。

检查是否有名为“com.integrity_apps”的包以及该包中是否有名为 ObjectFactory 的类。如果没有,您可能想要添加它或使用其他方式让 JAXBContext 知道如何创建您的 JAXB bean。 SO 上的这个问题可能会有所帮助: Do you always need an ObjectFactory class when using JAXB?

关于java - 具有类路径问题的 grails war 的 Tomcat 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829519/

相关文章:

java - Groovy 中的继承 - 基类表列出子类的条目

Java ConcurrentMarkSweep 垃圾收集器未发生

java - 如何使用 apache-poi 水平合并单元格

java - 我应该给出什么名称作为项目名称、包名称、类名称 - (java - eclipse)

java - 在 Spring.io 中获取 Tomcat StandardContext

java - intellij idea中tomcat 7中的参数

tomcat - 使用交换服务器从 Struts 应用程序发送邮件时出现 "Unable to Relay"错误

grails - 在4 td之后对每个新tr进行Groovy

grails - 将数据保留在主布局中

Java 字符串解析 - {k1=v1,k2=v2,...}