2016-10-14 5 views
0

나는 Mule Server 3.8 EE를 사용하여 commons-lang 2.4를 가져 왔습니다. 내 프로젝트의 타사 라이브러리에는이 버전에서 도입 된 방법을 사용하기 때문에 commons-lang 2.6이 필요합니다. 난 그냥 내 응용 프로그램을 시작할 때Mule - 런타임에 제 3 자 라이브러리 업데이트

그래서, 나는 java.lang.NoSuchMethodError

런타임에서 종속성을 업데이트 할 수있는 방법이 있나요거야? 지금까지 시도하는 것 :

2.6 내 응용 프로그램에-랭 공유지를 포함
  • -> 효과가 런타임에서 사람이 직접 실행에 항아리를 교체
  • 처음으로 포착되지 않습니다 - 스튜디오> 오류, 2.4 병이 없다는 것
+0

이 방법을 시도해 보셨습니까 https://docs.mulesoft.com/mule-user-guide/v/3.7/adding-and-removing-user-libraries –

+0

이것은 라이브러리를 추가하기 만하면됩니다. 기존의 이전 버전이 클래스 로더에 의해 먼저 선택되고 오류가 남아 있습니다 (예 : Maven을 추가 할 때) –

답변

0

어쩌면 내가 늦을 수도 있지만 이것은 당신의 대답입니다. jar 배포판에서 더 새로운 라이브러리를 빌드 경로에 추가하십시오. Java Build Path 화면 아래에 라이브러리가 나열되어 있어야합니다. Apache http-client 4.5.6을 사용해야했습니다. 다른 많은 의존성이 있기 때문에 매우 흥미 롭습니다. 그래서 여러분의 질문은 매우 관련성이있었습니다. 해결 방법은 JAVA (및 mul - oops Anypoint 또는 기타) 규약을 따르지 않고 JVM이 클래스 파일을 먼저로드하는지 확인하는 것입니다. 그런 다음 노새 병에서 낡은 것을로드하지 않습니다. 그래서 저는 Order and Export 탭으로 가서 Mule을 아래쪽으로 옮겼습니다. 이 간단하고 사소한 변경으로 인해 효과가 있습니다. 우리가 커맨드 라인과 vim으로 작업한다면, 우리 모두는 이것을 알게 될 것입니다. 그러나 모든 IDE GUI와 다른 모든 것들은 우리가 가장 단순한 것을 잊어 버리게 만듭니다. 건강에 좋습니다. :)