glassfish - 如何在 Glassfish 上选择 CXF 而不是 Metro

标签 glassfish classpath jax-ws cxf java-metro-framework

我有 the following problem (由其他人报告)在 Glassfish 下运行我的企业应用程序时。在 Jetty 下它工作正常。

javax/xml/ws/spi/Provider提到创建 META-INF/services/javax.xml.ws.spi.Provider 资源,但这已经随 CXF 提供,并且在 Glassfish 下创建附加资源文件并不能解决此问题。

有谁知道如何确保 CXF 在 GlassFish 下被拾取?
(我正在使用具有 CXF 依赖项 2.2.5 的 Maven 多模块项目)

谢谢!
蒂姆

编辑#1

暂时跳过这个问题,只使用 Metro,但如果有人有任何指示,我真的很想知道如何使用 CXF。如果没有任何效果,我可能不得不切换 Web 应用程序容器(或查看 Metro 来填充我的要求)

编辑#2

一些解决方案通过添加 <class-loader delegate="false"/> 详细说明了 war 的修复。到 sun-web.xml 文件。但是,这不适用于非 war ee 应用程序。

最佳答案

添加一个 sun-web.xml 并将 delegate=false 设置为类加载器:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD 
Application Server 9.0 Servlet 2.5//EN' 
'http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd'> 
<sun-web-app> 
    <class-loader delegate="false"/> 
</sun-web-app> 

关于glassfish - 如何在 Glassfish 上选择 CXF 而不是 Metro,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2064068/

相关文章:

java - 不明白 javac 对 -classpath 的以下使用

java - JAX-WS 在不同的 URL 中有 XSD 模式

java - 在 Glassfish 4 上启动小程序

jsf - 将GlassFish迁移到Tomcat会引发java.lang.NoClassDefFoundError:com/sun/enterprise/InjectionException

java - 尽管 jar 位于类路径上,但 Ant -verbose 失败并显示 "package does not exist"

java - 从位于网络服务器上运行 java 程序。

java - 可空/必需注释的 JAX-WS 模式验证

java - 使用jax-ws时出现问题

java - 如何从 glassfish 服务器发送邮件?

java - 无法使用Glassfish部署War文件