我正在将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重新安装JUST JDK并确保正确设置JAVA_HOME来解决这个问题。
我在服务器上尝试过相同的步骤 - 只安装JDK,确保JAVA_HOME指向它,并将我的WAR放在Tomcat容器中。我仍然得到错误。任何人都可以建议为什么会发生这种情况?
作为进一步的数据点,我注意到如果在服务器上直接从命令提示符运行Tomcat7.exe(JAVA_HOME设置为系统变量),则错误消失。如果我从服务管理器运行它,则会返回错误。 感谢
答案 0 :(得分:1)
看起来“com.integrity_apps”是包含JAXB bean类的包吗?我认为它在包中缺少ObjectFactory类。
检查是否存在名为“com.integrity_apps”的包,以及该包中是否存在名为ObjectFactory的类。如果不是,您可能想要添加它或使用其他方法让JAXBContext知道如何创建您的JAXB bean。关于SO的这个问题可能会有所帮助: Do you always need an ObjectFactory class when using JAXB?