2012-05-23 20 views
6

jestem trynig rozwijać usługę internetową REST przy użyciu CXF 2.6.0 i 2.5.6 sprężynę mój CXF Maven dependancy w pom.xml to:REST CXF i Spring cxf-extension-jaxrs-binding Nie znaleziono wyjątku pliku?

<dependency> 
    <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-rs-extension-providers</artifactId> 
    <version>2.6.0</version> 
    </dependency> 

<dependency> 
    <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-rs-extension-search</artifactId> 
    <version>2.6.0</version> 
</dependency> 

I'am przy użyciu Wiosna 2.5. 6 i zadeklarowały moją usługę internetową w pliku applicationContext.xml wiosny:

<jaxrs:server id="restContainer" address="/sav"> 
    <jaxrs:serviceBeans> 
     <ref bean="wssav"/> 
    </jaxrs:serviceBeans> 
</jaxrs:server> 

<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-servlet.xml"/> 

i mam zadeklarowane moje usługi sieci Web do pliku web.xml przez ten kod:

<servlet> 
    <servlet-name>CXFServlet</servlet-name> 

    <servlet-class> 
     org.apache.cxf.transport.servlet.CXFServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>CXFServlet</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

gdy wdrożyć swój projekt na tomcat Mam ten wyjątek dla drugiego pliku importu w applicationContext.xml pliku:

java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf-extension-jaxrs-binding.xml] cannot be opened because it does not exist 
+0

Alternatywnie możesz sprawdzić TomEE Plus, który jest Tomcat z już zintegrowanym CXF (plus kilka innych rzeczy). /tomee.apache.org –

Odpowiedz

12

Według this, ten plik nie jest już wymagany do CXF > 2.4.x.

1

Otrzymuję również dokładnie ten sam błąd. Błąd, że jestem coraz to -

IOException parsing XML document from class path resource [META-INF/cxf/cxf-extension-jaxrs-binding.xml]; 
nested exception is java.io.FileNotFoundException: 
class path resource [META-INF/cxf/cxf-extension-jaxrs-binding.xml] cannot be opened because it does not exist. 

Nawet czytałem, że nowsze wersje CXF nie potrzebują niczego innego niż CXF-RT-frontend-jaxrs. Po mam te błędy, dodałem następujące zależności w moim pliku pom ale były one nie pomagają -

<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
    <version>2.6.2</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-rs-extension-providers</artifactId> 
    <version>2.6.2</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-rs-extension-search</artifactId> 
    <version>2.6.2</version> 
</dependency> 

ja też nie rozumiem, dlaczego prawie wszystkie tutoriale szczegółowo etapy budowania usługi REST przy użyciu CXF żebyś zawierać następujące 3 linie na wiosnę config (kiedy nie mogę ewentualnie zlokalizować te pliki w dowolnym miejscu) -

<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-servlet.xml"/> 
1

Spróbuj usunąć wiersz, który importuje CXF-extension-jaxrs-binding.xml. Pozostałe 2 pliki xml znajdują się w pliku cxf-X.Y.Z.jar. Dla mnie jest to cxf-2.7.7.jar.

0

Plik META-INF/cxf/cxf-extension-jaxrs-binding.xml jest dostępny w poniższym artefakcie.

<groupId>org.apache.cxf</groupId> 
<artifactId>cxf-rt-frontend-jaxrs</artifactId> 
<version>2.2.7</version> 
0

W applicationContext.xml skomentuj poniższy import działa dla mnie w cxf 3.1.10. import resource = "ścieżka klasy: META-INF/cxf/cxf-extension-jaxrs-binding.xml

Powiązane problemy