2014-05-23 3 views
0

spymemcached 클라이언트에서 일부 코드를 래핑하는 라이브러리를 구축 중입니다. 이것을 CacheClient라고합니다. 이것은 간단한 자바 프로젝트입니다. spymemcached.jar를 lib 폴더에 넣었습니다.Eclipse 프로젝트 대 빌드 경로

도서관 : CacheClient 프로젝트 : cacheclient.jar

  • LIB
    • spymemcached.jar가 보이는 방법은 다음과

      또한 빌드 경로 설정을 볼 수 있습니다

,210

Java 빌드 경로/라이브러리 탭 : spymemcached.jar - CacheClient/lib 디렉토리/spymemcached.jar

나는이 라이브러리를 사용하는 간단한 자바 웹 프로젝트를 구축하고 내가 뭐하는 거지입니다

.

웹 애플리케이션 : ServiceWebApp 프로젝트 : servicewebapp.war

  • 의 WebContent
    • WEB-INF
      • LIB
        • EMPTY

Java 빌드 경로/프로젝트 탭 : CacheClient

그래서, 내 웹 애플리케이션의 빌드 경로가 CacheClient 프로젝트를 사용하여 설정됩니다. 나는 cacheclient.jar를 tomcat의 lib 디렉터리에 복사하고 ServiceWebApp를 배포했습니다.

웹 응용 프로그램을 실행할 때 CacheClient 코드가 spymemcached 클래스 (ClassNotFoundException)를 찾고 있다고 말하면 실패합니다.

나는이 문제를 tomcat의 lib 디렉토리에 spymemcached.jar를 넣음으로써 해결할 수 있지만 다른 해결책이 있다면 좋을 것입니다.

의견을 보내 주시면 감사하겠습니다.

감사합니다, 당신의 WEB-INF/lib 디렉토리에 lib 디렉토리의 항아리를 넣어하는 것입니다 웹 응용 프로그램의 lib에 사용할 수를 만드는

답변

3

가장 간단한 방법.

수동으로하지 않으려면,이 자동화 할 수있는 방법에 대한이 링크를 확인하십시오 Adding 3rd party jars to WEB-INF/lib automatically using Eclipse/Tomcat

+0

확인 해결책입니다. cacheclient.jar과 spymemcached.jar를 웹 응용 프로그램의 WEB-INF/lib 디렉토리에 넣습니다. 그러나 spymemcached.jar도 cacheclient.jar의 lib 디렉토리에 있습니다. 라이브러리 안의 병에서 클래스를 참조하는 것이 기본적으로 지원되지 않으므로 One-Jar 또는 다른 패키지가 필요합니다. –

1

귀하의 경우 cacheclient.jar에서이 spymemcached.jar에 대한 종속성이 있습니다. 그러나 cacheclient.jar이 빌드 될 때 spymemcached.jar로 패키지되지 않습니다. 그래서 단지 cacheclient를 복사하십시오.jar in tomcat/lib 폴더가 충분하지 않습니다. 우선 tomcat lib 폴더에 jar 파일을 복사하는 것은 좋지 않습니다.

당신이 할 수있는 일은 작동시킬 servicewebapp.war> WenContent> WEB-INF> lib에 jar를 모두 복사하는 것입니다.