java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.isBlank(Ljava/lang/String;)Z Error
어쩌구 저쩌구 ...
나는 이 에러가
org.apache.commons.lang.StringJoin(Collection col , String split)
여기서 발생했다.
거의 하루를 날렸다.
왜냐면 정말 의심가던곳을 제거한 뒤에도 계속해서 라이브러리 충돌이 났기 때문이다.
나는 정말 maven쪽 라이브러리들이 정리가 안되어서 계속 나는줄 알았다.. =_=...
자료를 찾기가 조금 어려웠는데 아래에서 찾았다
결론적으로 weblogic이 갖고 있는 commons-* 라이브러리들과
현재 내 프로젝트에 commons-* 라이브러리들이 충돌이 나는건데
weblogic의 기본설정은 자신의 commons-* 라이브러리를 우선순위로 잡고 프로젝트를 로딩한다.
이 우선순위를 바꿀 수 있는 weblogic.xml 설정이 바로 prefer-web-inf-classes 이다.
근데 prefer-web-inf-classes 을 true로 주었지만 나같은경우는 xml-apis랑 다시 충돌이 나는 현상이 있었다
그러다가 또 개삽질하고
아래와 같이 prefer-application-packages를 사용하여 특정 패키지만 우선순위로 두는것으로 해결했다.
<container-descriptor>
<prefer-application-packages>
<package-name>org.apache.commons.*</package-name>
</prefer-application-packages>
</container-descriptor>
아래는 oracle weblogic doc에 있는 내용이니 참고해도 좋을듯 하다
https://docs.oracle.com/cd/E13222_01/wls/docs90/programming/classloading.html#1082452
'was' 카테고리의 다른 글
[Weblogic] Maven 환경에서 context-root 고정시키기 (0) | 2019.08.01 |
---|---|
[Tomcat] eclipse does not exist or is not a readable directory 대응 (0) | 2019.07.19 |
[Tomcat] 톰캣 구동시 갑자기 느려지는 현상 대처 (0) | 2018.11.30 |
[Weblogic] Weblogic Admin server 종료 안될 때 (0) | 2018.11.29 |
[Weblgoic] Weblogic console에서 데이터 소스 지정해도 못찾을 경우 대처 (0) | 2018.11.28 |