WELD-001408:对带有限定符@Default 的类型 Gson 的不满足依赖关系
WELD-001408: Unsatisfied dependencies for type Gson with qualifiers @Default
我的所有其他注入都有效,但不适用于 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>
就像@maress 在评论中指出的那样,我需要用 @javax.enterprise.inject.Produces
替换 @javax.ws.rs.Produces
。正在运行
我的所有其他注入都有效,但不适用于 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>
就像@maress 在评论中指出的那样,我需要用 @javax.enterprise.inject.Produces
替换 @javax.ws.rs.Produces
。正在运行