jboss fuse 6.2 rest cxf org.apache.cxf.service.factory.ServiceConstructionException: "No resource cl



从6.1开始使用Fuse 6.2。这是在6.1上部署的,我似乎无法将其部署到新的Fuse 6.2中。当我部署到Fuse环境时,这个简单的Rest服务一直得到以下错误。

如有任何意见,不胜感激。

这个问题建议从Fuse中删除javax.ws.rs/javax.ws.rs-api/2.0.1包文件。bundle启动干净,没有错误,但是REST服务由于某些原因无法访问。

这个链接可能适用于:https://issues.apache.org/jira/browse/cxf - 5654

我需要调查特性Swagger,因为它是自动启动的。

错误:

Caused by: org.apache.cxf.service.factory.ServiceConstructionException: No resource classes found
        at org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.checkResources(AbstractJAXRSFactoryBean.java:317)
        at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:159)
        ... 29 more

代码:

@Path("/configservice")
public class ConfigurationServiceImpl 
{
    public ConfigurationServiceImpl()
    {
    }

    @GET
    @Path("/event0")
    @Consumes({MediaType.APPLICATION_XML})
    @Produces({MediaType.APPLICATION_XML})
    public RestConcreteResult process()
    {
        logger.info("************************************** process has been processed");
        RestConcreteResult result = new RestConcreteResult("test ::: ");
        return result;
    }
}

Pom.xml

...
    <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
            </dependency>
        </dependencies>

我得到了同样的错误。这是由于依赖于旧版本的javax.ws.rs:

javax.ws.rs;version="[1.1,2)",
javax.ws.rs.core;version="[1.1,2)",

https://issues.apache.org/jira/browse/CXF-5654说明cxf3。X需要Java API 2.0。所以我明确地添加了

javax.ws.rs;version="[2.0,3)",
javax.ws.rs.core;version="[2.0,3)",

在Maven pom.xml中:

        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <executions>
                <execution>
                    <id>Create OSGi bundle</id>
                    <goals>
                        <goal>bundle</goal>
                    </goals>
                    <configuration>
                        <instructions>
                            <Import-Package>
                                META-INF.cxf,
                                org.apache.cxf.bus.spring,
                                javax.ws.rs;version="[2.0,3)",
                                javax.ws.rs.core;version="[2.0,3)",
                                *
                            </Import-Package>
                        </instructions>
                    </configuration>
                </execution>
            </executions>
        </plugin>

最新更新