2013-11-24 2 views
0

Я пытаюсь настроить CDI/Weld и JAX-RS/Resteasy на Нетти в среде Java SE, но все это я получаю следующее исключение:Ресурсы не найдены с CDI/Weld JAX-RS/Resteasy

javax.ws.rs.NotFoundException: Could not find resource for full path: http://localhost:8000/ 

Мой проект имеет следующие зависимости:

<dependency> 
    <groupId>org.jboss.resteasy</groupId> 
    <artifactId>resteasy-netty4</artifactId> 
    <version>3.0.5.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.jboss.resteasy</groupId> 
    <artifactId>resteasy-cdi</artifactId> 
    <version>3.0.5.Final</version> 
</dependency> 
<dependency> 
    <groupId>io.netty</groupId> 
    <artifactId>netty-all</artifactId> 
    <version>4.0.12.Final</version> 
</dependency> 

Я поместил файл beans.xml в SRC/главная каталог/ресурсы/META-INF для того, чтобы CDI.

Код для запуска NETTY:

@Singleton 
public class App { 

    private static NettyJaxrsServer netty; 

    public void printHello(
      @Observes ContainerInitialized event, 
      @Parameters List<String> parameters) 
      throws Exception { 
    System.out.println("Starting Netty ..."); 
    ResteasyDeployment deployment = new ResteasyDeployment(); 
    netty = new NettyJaxrsServer(); 
    netty.setDeployment(deployment); 
    netty.setPort(8000); 
    netty.setRootResourcePath(""); 
    netty.setSecurityDomain(null); 
    netty.start(); 
    } 

Пример ресурса выглядит следующим образом:

@Path("/hi") // tried "/" too 
public class Index { 

    @GET 
    public String get() { 
    return "Hi!"; 
    } 
} 

Поскольку все это не сработало, я добавил класс приложения:

import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Application; 

@ApplicationPath("/") 
public class DemoApplication extends Application { 
    // empty 
} 

Но сообщение об ошибке остается неизменным.

Что не хватает? Как настроить Weld и RESTEasy?

ответ

Смежные вопросы