2015-05-15 3 views
4

. Я получаю странное предупреждение (при наведении красной линии в затмение) для этого очень простого кода обслуживания: (Eclipse рисует красную линию под "MediaType.APPLICATION_JSON")Значение атрибута не определено для типа аннотации. Производит для «MediaType.APPLICATION_JSON»

import java.util.List; 
import java.util.logging.Logger; 

import javax.enterprise.inject.Produces; 
import javax.persistence.EntityManager; 
import javax.persistence.EntityManagerFactory; 

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

import com.myCompany.annotation.RestfulServiceAddress; 
import com.myCompany.myProject.middleware.api.myService; 

@RestfulServiceAddress("/myCompany-middleware") 
public class myServiceImpl implements myService { 

private EntityManagerFactory entityManagerFactory; 

@GET 
@Path("/getStuff") 
@Produces(MediaType.APPLICATION_JSON) 
public List<Object> getStuff() { 
    EntityManager entityManager = entityManagerFactory 
      .createEntityManager(); 
    try { 
     return entityManager.createQuery(
       "Select S from Stuff S", Object.class) 
       .getResultList(); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
     return null; 
    } finally { 
     entityManager.close(); 
    } 
} 

public EntityManagerFactory getEntityManagerFactory() { 
    return entityManagerFactory; 
} 

public void setEntityManagerFactory(
     EntityManagerFactory entityManagerFactory) { 
    this.entityManagerFactory = entityManagerFactory; 
} 
} 

Также Maven строит .jar файл без проблем. Но я получаю сообщение об ошибке из контейнера OSGI, сообщая мне, что банку не удалось.

ответ

7

Использование @javax.ws.rs.Produces вместо javax.enterprise.inject.Produces

import javax.ws.rs.Produces; 
// import javax.enterprise.inject.Produces; 
Смежные вопросы