현재 Java Enterprise 프로젝트 형식의 이전 WAS-8을 Liberty Profile 17로 마이그레이션하는 동안 문제가 있습니다. richfaces jar에서 css/js 파일을 찾을 수 없습니다. 브라우저에서 페이지를로드, WLP17는 로그 파일에 다음과 같은 경고를 기록합니다 Websphere Liberty 프로파일 : [WARNING] SRVE0190E : EAR 파일에 포함 된 라이브러리에서 파일을 찾을 수 없습니다.
[WARNING ] SRVE0190E: File not found: /org.richfaces.resources/javax.faces.resource/org.richfaces.staticResource/4.5.17.Final/PackedCompressed/org.richfaces/jquery.js
내가 받는다는을 사용하여 프로젝트를 빌드하고이 같은 부모 치어의 richfaces 의존성 정의 : 다음
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>richfaces</artifactId>
<version>4.5.17.Final</version>
</dependency>
을 , 나는 여러 개의 EJB와 WAR 프로젝트가 함께 EAR 파일로 묶여있다.
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>richfaces</artifactId>
<scope>provided</scope>
</dependency>
마지막 EAR 치어 라이브러리는 EAR 파일에 포함되도록 richfaces에 대한 종속성을 가지고 richfaces를 이용한 WAR 프로젝트 제공 범위와 richfaces 종속성을 포함한다. 어떤 이유로 든 자유가 부자 단지에 위치한 자원을 찾을 수 없습니다.
생성 된 EAR 파일을 검사했는데, richfaces 라이브러리가 포함되어 있습니다. 그런 다음, richfaces 라이브러리를 검사했고 발견되지 않은 파일도 포함했습니다.
더 이상의 설정이 필요합니까?
당신이 이해가 정적 인 웹 리소스를 제공하기 위해 노력하고 있기 때문에 WAR 프로젝트에서 richfaces 라이브러리를 패키징하십시오. 너처럼 AR 수준이야. – wtlucy
richfaces 라이브러리를 각 WAR 프로젝트에 정확히 패키징해야하는 이유는 무엇입니까? 필자의 이해를 돕기 위해 EAR 파일 내에 모든 라이브러리와 아카이브 모자가 들어있는 리소스가 표시되어 있습니다. 런타임 예외없이 JSF 페이지에서 richfaces 태그를 사용할 수 있습니다. – Joko
또 다른 재미있는 관찰을했습니다 : 라이브러리 속성 (library = "css/foo")으로 참조 된 하위 폴더 (예 : resouorces/css/foo/bar.css)에있는 정적 리소스 (js 및 css 파일과 같은) 뿐만 아니라 발견되지 않았다. 나는 그들을 css 폴더로 옮겼고 지금 그들은 발견된다. – Joko