WELD-001408:具有限定符@Default的Gson类型的依赖关系不令人满意

时间:2018-07-11 11:35:06

标签: gson cdi weld

我所有其他的注入都在工作,但是在gson上却不工作。我感觉是因为它是一个外部程序包,但我无法解决问题。这是我的相关文件:

制作人:

public class GsonFactory {
    @Produces
    public Gson createGson(){return new GsonBuilder().createGson();}
}

注入点:

@ApplicationScoped
public class SoundcloudAPIWrapper implements Serializable{

    @Inject
    private Gson gson;

    public SoundcloudAPIWrapper() {}

    ...

}

Beans.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd"
    bean-discovery-mode="all" version="2.0">
</beans>

1 个答案:

答案 0 :(得分:0)

就像@maress在评论中指出的那样,我需要将@javax.ws.rs.Produces替换为@javax.enterprise.inject.Produces。现在正在工作