0

我正在开发一个 JAX-RS 项目。我使用 Jersey、Weld 和 DeltaSpike。

@Path("test")
public class TestResource {

    @GET
    @Path("now")
    public String now() {
        return new Date().toString();
    }

    @GET
    @Path("myProperty")
    public String myProprety() {

        return myProperty;
    }

    @Inject
    @ConfigProperty(name = "my.proprety")
    private String myProperty;
}

当我尝试时GET /test/myProperty,我得到了。

org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at
4

2 回答 2

2

我必须再添加两个依赖项才能完成这项工作。

<dependency>
    <groupId>org.glassfish.jersey.containers.glassfish</groupId>
    <artifactId>jersey-gf-cdi</artifactId>
    <version>2.14</version>
</dependency>

<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>javax.transaction-api</artifactId>
    <version>1.2</version>
</dependency>
于 2014-12-28T04:57:22.277 回答
0

使资源成为 ManagedBean(或 cdi Singleton),如下所示:

@Path("test")
@ManagedBean
public class TestResource {
    ....
于 2014-12-28T11:06:21.343 回答