【发布时间】:2010-10-15 22:48:28
【问题描述】:
是否可以在没有 Spring 的情况下将 CXF 与 Tomcat 一起使用?如果有,怎么做?
【问题讨论】:
标签: java web-services tomcat cxf
是否可以在没有 Spring 的情况下将 CXF 与 Tomcat 一起使用?如果有,怎么做?
【问题讨论】:
标签: java web-services tomcat cxf
我想你的意思是用 CFX 创建一个可以在 Tomcat 中运行的 Web 服务?这是完全可能的,Spring 是可选的。如果您不想使用,则不必使用它。
【讨论】:
CXF 旨在与弹簧一起使用。很奇怪你想在没有它的情况下使用它。
您可以尝试 NoSpringServletServer 并使用 ServerFactoryBean 或 JaxWS API。
这是NoSpringServletServer的代码。
但是您将仍然需要 spring 作为依赖项。基本的 JaxWS 可以在没有 spring 的情况下完成。但是对于几乎任何其他东西,您至少需要 spring-core.jar
【讨论】:
我认为在Tomcat中完全独立于spring使用CXF是不可能的。
原因是当我为一个最低限度的 CXF webservice 做一个 Maven 依赖树列表 (mvn dependency:tree) 时,列出了以下内容(这表明它需要 Spring)
+- org.apache.cxf:cxf-rt-core:jar:2.2.2:compile
[INFO] | | +- com.sun.xml.bind:jaxb-impl:jar:2.1.9:compile
[INFO] | | +- org.springframework:spring-core:jar:2.5.5:compile
[INFO] | | +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.6:compile
org.apache.cxf:cxf-rt-transports-http:jar:2.2.2:compile
[INFO] \- org.springframework:spring-web:jar:2.5.5:compile
[INFO] +- commons-logging:commons-logging:jar:1.1.1:compile
【讨论】:
您可以在没有 Spring 的情况下以编程方式配置 CXF。请参阅代码示例here。将 Web 应用程序上下文路径与端点扩展(代码示例中的 Greeter)放在一起,将在浏览器中显示一个摘要页面,其中包含指向 WSDL 的链接。
不需要 Spring,CXF 占用空间非常小。我发现唯一需要的罐子(对于 CXF 2.2.1):
我相信对于某些配置,neethi-2.0.4.jar 可能也是必需的,但我并不需要它。
玩得开心!
【讨论】: