代码之家  ›  专栏  ›  技术社区  ›  Joko

Websphere Liberty Profile:[警告]SRVE0190E:在EAR文件中包含的库中找不到文件

  •  0
  • Joko  · 技术社区  · 7 年前

    目前,我在将Java企业项目从旧WAS-8迁移到Liberty Profile 17的过程中遇到了一个问题。在我的例子中,环境无法在richfaces jar中找到一堆css/js文件。WLP17在浏览器中加载页面时,会将以下警告写入日志文件:

    [WARNING ] SRVE0190E: File not found: /org.richfaces.resources/javax.faces.resource/org.richfaces.staticResource/4.5.17.Final/PackedCompressed/org.richfaces/jquery.js
    

    我使用maven构建项目,并在父pom中定义了richfaces依赖项,如下所示:

    <dependency>
        <groupId>org.richfaces</groupId>
        <artifactId>richfaces</artifactId>
        <version>4.5.17.Final</version>
    </dependency>
    

    然后,我将几个EJB和WAR项目打包到一个EAR文件中。使用richfaces的WAR项目包含一个richfaces依赖项,提供了范围:

    <dependency>
        <groupId>org.richfaces</groupId>
        <artifactId>richfaces</artifactId>
        <scope>provided</scope>
    </dependency>
    

    最后,EAR pom依赖于richfaces,以确保库包含在EAR文件中。由于任何原因,liberty无法找到richfaces jar中的资源。

    我检查了创建的EAR文件,它包含richfaces库。然后,我检查了richfaces库,其中还包含未找到的文件。

    我还要做更多的配置吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   wtlucy    7 年前

    Jar库应该捆绑在web应用程序战争中,这些Jar库应该为META-INF/resources/中的静态文件提供服务。Servlet 3.0规范的第4.6节是相关的:

    getResource和getResourceAsStream方法采用带 前导/作为给出资源路径的参数 相对于上下文的根或相对于 中JAR文件的META-INF/resources目录 网状物 应用程序WEB-INF/lib目录 ...

        2
  •  0
  •   Joko    7 年前

    @露西的评论确实解决了我的问题。非常感谢。

    我已将richfaces库放入需要这些库的WAR文件中。