** 下面列出了我当前的问题,但我已经详细说明了我是如何到达那里的 **
我正在尝试将 JSF Web 应用程序部署到 Glassfish 3 中。如果这些细节中的任何一个比我预期的更相关,这里有一些关于我的项目的背景信息:
- 使用 NetBeans 7.3.1 进行部署
- Java平台:JDK 1.7
- Java EE 版本:Java EE 6 Web
- 使用 ICEFaces 组件 v3.3。
- 开发平台是 MS Windows。
- 使用 Apache JENA 和 OWL API(包括所有库)。
我在项目中包含以下 ICEFaces 库:
- icefaces.jar
- 冰推.jar
- icefaces-ace.jar
- icefaces-compat.jar
- common-logging.jar
- krysalis-jCharts-1.0.0-alpha-1.jar
- 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-1.4.01.jar”添加到 GLASSFISH_HOME\glassfish\modules\endorsed 目录中。在我的下一次部署尝试中,我收到了以下异常:
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\endorsed 目录中。不幸的是,这就是我的研究运气用完的地方。我现在收到以下异常:
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 实例并重新创建了域。当我尝试部署项目时,这个要求仍然存在。
有什么建议吗?
一如既往,非常感谢大家的帮助!