首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Tomcat中部署CXF CXF服务

在Tomcat中部署CXF CXF服务
EN

Stack Overflow用户
提问于 2013-08-10 21:38:26
回答 1查看 3K关注 0票数 0

我正在尝试使用maven在Tomcat7中部署web服务。

下面我提供一些配置信息:

web.xml

代码语言:javascript
复制
...
<servlet-mapping>
   <servlet-name>CXFServlet</servlet-name>
   <url-pattern>/services/*</url-pattern>
</servlet-mapping>
...

pom.xml

代码语言:javascript
复制
...
<build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
                <configuration>
                    <url>http://localhost:8080/manager/text</url>
                    <server>TomcatServer</server>
                    <path>/services/userinfo</path>
...

给定<url-pattern>/services/*</url-pattern><path>/services/userinfo</path>配置,URL http://localhost:8080/services/userinfo显示404。

如果使用<url-pattern>/*</url-pattern>,则一切都按预期工作(即,http://localhost:8080/services/userinfo显示可用方法的列表)。

问题

为什么/services/*在我的情况下不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-11 16:19:59

在tomcat-maven-plugin配置中的路径

代码语言:javascript
复制
<path>/services/userinfo</path>

定义部署webapp的位置(上下文根)。在本例中,您将它部署到

代码语言:javascript
复制
http://localhost:8080/services/userinfo

查看Tomcat安装中的webapp目录。

由于您将CXFServlet映射定义为/services/*,CXF服务列表将显示在

代码语言:javascript
复制
http://localhost:8080/services/userinfo/services/

当您重新定义到/*的映射时,它看起来就像预期的那样工作,但这只是因为您使用的上下文根和您期望的服务列表路径是相同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18166594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档