1

Maven、CXF、および春を使用して安らかなサービスを作成しました。Maven アーキタイプには、クイックスタートを選択します。ここに pom.xml があります:

<groupId>com.example.ExampleBean</groupId>
<artifactId>RestExample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>

<build>
    <defaultGoal>install</defaultGoal>
    <plugins>
        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                </instructions>
            </configuration>
        </plugin>
    </plugins>
</build>

pom の依存関係:

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

クラス:

package com.example.ExampleBean;

import javax.ws.rs.GET;
import javax.ws.rs.Path;

@Path("/example")
public class RestExample {
@GET
    @Path("/")
    public String ping() throws Exception {
        return "SUCCESS";
    }
}

src/main/resources/META-INF/spring/bundle-context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
     http://www.springframework.org/schema/beans    
     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context.xsd
     http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>


<bean id="exampleBean" class="com.example.ExampleBean.RestExample" />

<jaxrs:server id="exampleService" address="/">
    <jaxrs:serviceBeans>
        <ref bean="exampleBean" />
    </jaxrs:serviceBeans>
</jaxrs:server>

</beans>

maven のインストールは成功です。バンドルを Fuse ESB karaf OSGi コンテナーにデプロイして起動すると、次のようになりました。

[286] [アクティブ] [] [失敗] [60] RestExample (0.0.1.SNAPSHOT)

起動に失敗しました。誰でもこれで私を助けることができますか?

4

0 に答える 0