将WebApp部署到Glassfish时出错



**下面列出了我当前的问题,但我已经详细介绍了我是如何到达那里的**

我正试图在Glassfish 3中部署一个JSF Web应用程序。以下是我的项目的一些背景,如果这些细节中的任何一个都比我预期的更相关:

  • 使用NetBeans部署7.3.1
  • Java平台:JDK 1.7
  • Java EE版本:Java EE 6 Web
  • 使用ICEFaces组件v3.3
  • 开发平台为MS Windows
  • 使用Apache JENA和OWL API(包括所有库)

项目中包含以下ICEFaces库:

  1. icefaces.jar
  2. icepush.jar
  3. 冰面-ee.jar
  4. icefaces-compat.jar
  5. common-logging.jar
  6. krysalis-jCharts-1.0.0-alpha-1.jar
  7. jxl.jar

当我第一次尝试部署我的应用程序时,我收到了以下异常:

javax.xml.transform.TransformerFactoryConfigurationError: Provider  
org.apache.xalan.processor.TransformerFactoryImpl not found at
javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
at org.openide.xml.XMLUtil.write(XMLUtil.java:428)

在阅读了这里和网上的一些回复后,我继续将文件"xml-apis-14.01.jar"添加到GLASSFISH_HOME\GLASSFISH\modules\approved目录中。在我的下一次部署尝试中,我收到了以下异常:

Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
Caused by: javax.xml.stream.FactoryConfigurationError: Provider com.ctc.wstx.stax.WstxInputFactory not found
at javax.xml.stream.XMLInputFactory.newInstance(Unknown Source)

这促使我做了更多的研究,并最终将"stax2-api-3.1.1.jar"添加到GLASSFISH_HOME\GLASSFISH\modules\approved目录中。不幸的是,这正是我研究运气耗尽的地方。我现在收到以下异常:

WARNING: Failed to install file:GLASSFISH_HOME/glassfish/modules/endorsed/stax2-api-3.1.1.jar
org.osgi.framework.BundleException: Bundle symbolic name and version are not unique: stax2-api:3.1.1
at org.apache.felix.framework.BundleImpl.createRevision(BundleImpl.java:1230)
at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:95)
at org.apache.felix.framework.Felix.installBundle(Felix.java:2732)
at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)
at com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner.install(BundleProvisioner.java:446)
at com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner.installBundles(BundleProvisioner.java:208)
at
com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder.build(OSGiGlassFishRuntimeBuilder.java:139)
at org.glassfish.embeddable.GlassFishRuntime._bootstrap(GlassFishRuntime.java:157)
at org.glassfish.embeddable.GlassFishRuntime.bootstrap(GlassFishRuntime.java:110)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)

现在,我没有在这个项目中明确使用任何Woodstox组件,所以我不知道Glassfish为什么需要这样做。起初,我认为我做错了什么,所以我继续卸载并重新安装了Glassfish实例,并重新创建了域。当我尝试部署项目时,这个需求仍然存在。

有什么建议吗?

一如既往,非常感谢大家的帮助!

所以,在做了更多的研究和设置之后,我认为我已经解决了这个问题。首先,这里有一些我的过程背景。

由于我从未在我的项目中使用过Woodstox组件,我认为在我的一个附带库中存在对上述jar的依赖。我想我应该完全删除Glassfish并重新安装,以尝试"全新"的方法。不幸的是,这并没有奏效,我仍然有同样的例外。

我最终在整个驱动器中搜索了Felix jar和目录,并删除了我能找到的所有内容。然后,我试图重新启动Glassfish,但(预计)以一个错误告终,即找不到Felix。然后我进行了一次彻底的卸载和重新安装,一切都正常了。我唯一的想法是缓存了一些东西,并且没有被覆盖。

这纠正了我报告的最后一个例外,但不幸的是,我仍然经历了前者。我当时唯一的想法(基于大量的搜索)是OWL库的XML解析器不能很好地处理Glassfish。

相关内容

  • 没有找到相关文章

最新更新