【问题标题】:Tomcat 7, Weld, RESTEasy not Scanning JARsTomcat 7,焊接,RESTEasy 不扫描 JAR
【发布时间】:2013-12-31 00:30:14
【问题描述】:

我有 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

我还应该尝试什么?

【问题讨论】:

标签: java tomcat jax-rs resteasy weld


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-02-21
    • 1970-01-01
    • 2020-01-23
    • 2018-04-22
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 2012-10-25
    • 2013-05-24
    相关资源
    最近更新 更多