Tomcat 7,Weld,RESTEasy不扫描JAR

时间:2013-12-12 14:28:00

标签: java tomcat jax-rs resteasy weld

我有Tomcat 7.0.47,我正在托管REST Easy JAXRS服务。该服务使用两个外部JAR,一个具有基本存储库接口和默认实现,另一个创建从基础派生的具体存储库(即这两个JAR具有依赖性)。

该服务有效,即我可以发送请求并从数据库中获取数据。

现在我要做的是将存储库注入REST服务,为此我已经将REST代码更改为

@Path("/country")
public class CountryService {

    @Inject
    ICountriesRepository repository;

    @GET
    @Produces({"application/json", "application/xml"})
    public List<Country> getCountries() throws NamingException, SQLException {
        return repository.getCountries();
    }
}

我已将一个beans.xml文件添加到Web应用程序的WAR文件中(它位于META-INF目录中),并且我已将beans.xml添加到JARS中。

部署应用程序时,我看到以下消息:

INFO: Adding scanned resource: com.mantiso.cricket.service.CountryService

但我没有看到JAR中存储库类的类似消息。

部署了JAR; beans.xml文件位于JAR的META-INF目录中;我已经尝试将@ManagedBean添加到存储库类。

我确信我错过了一些简单的东西,但很多搜索都没有发现。

这是Tomcat 7.0.47;焊接2.1.0; RESTEasy 3.0.5

我还应该尝试什么?

1 个答案:

答案 0 :(得分:1)

答案是:Web应用程序的beans.xml文件必须位于WEB-INF目录中。如果它在META-INF目录中,那么它就不会被解析。

虽然,当我尝试注入servlet时,这似乎工作正常