복붙노트

[MONGODB] 어떻게 글래스 피쉬에 제 3 자 라이브러리를 사용 하는가?

MONGODB

어떻게 글래스 피쉬에 제 3 자 라이브러리를 사용 하는가?

나는 글래스 피쉬 3.0.1에서 실행, 내 EJB3 응용 프로그램에서 MongoDB의 인스턴스에 연결해야합니다. 몽고 프로젝트는 드라이버 세트를 제공, 나는 독립형 Java 응용 프로그램에서 사용할 수 있어요.

어떻게 그들을 자바 EE 애플리케이션에서 사용하는 것이? 아니면 더 나은 같이 분석 : 그것이 EJB 컨테이너에서 실행 때 내 응용 프로그램에 대한 제 3 자 라이브러리를 사용할 수 있도록 얼마나?

순간, 나는 콩이를 배포 java.lang.NoClassDefFoundError가납니다 라이브러리에서 가져 오기를 시도합니다

[#|2010-03-24T11:42:15.164+0100|SEVERE|glassfishv3.0|global|_ThreadID=28;_ThreadName=Thread-1;|Class [ com/mongodb/DBObject ] not found. Error while loading [ class mvs.core.LocationCacheService ]|#]
[#|2010-03-24T11:42:15.164+0100|WARNING|glassfishv3.0|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=28;_ThreadName=Thread-1;|Error in annotation processing: java.lang.NoClassDefFoundError: com/mongodb/DBObject|#]

[#|2010-03-24T11:42:15.259+0100|SEVERE|glassfishv3.0|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=28;_ThreadName=Thread-1;|Exception while loading the app
org.glassfish.deployment.common.DeploymentException: java.lang.NoClassDefFoundError: com/mongodb/DBObject
at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:171)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:125)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:224)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338)

내가 넷빈즈 프로젝트에 추가 시도 (속성 -> 도서관 -> 컴파일 -> '패키지'를 활성화 항아리를 추가)하고, 또한 $에 jar 파일을 수동으로 복사 시도 GF_HOME / 글래스 피쉬 / 도메인 / domain1을 / lib 디렉토리 (여기서 MySQL의 커넥터는 이미) 존재한다.

나는 용기와 라이브러리를 '등록'해야합니까? 주석을 통해 참조? 라이브러리를 포함하는 컨테이너의 클래스 경로를 확장?

해결법

  1. ==============================

    1.흠 ...해야 당신은 glassfishv3 / 글래스 피쉬 / 도메인 / domain1을 / lib 디렉토리 / 내선이 "드라이버"를 넣지?

    흠 ...해야 당신은 glassfishv3 / 글래스 피쉬 / 도메인 / domain1을 / lib 디렉토리 / 내선이 "드라이버"를 넣지?

  2. ==============================

    2.당신은 당신의 도메인의 lib 디렉토리 / 내선에 공유 libs와 둘 수 있었다. 평민 로깅 및 JDBC 드라이버는 종종이 도메인 경로에 추가됩니다.

    당신은 당신의 도메인의 lib 디렉토리 / 내선에 공유 libs와 둘 수 있었다. 평민 로깅 및 JDBC 드라이버는 종종이 도메인 경로에 추가됩니다.

  3. ==============================

    3.글래스 피시는 자신의 클래스 로더 계층 구조를 가지고, http://docs.oracle.com/cd/E19798-01/821-1752/beade/index.html 나는 내 프로젝트에서 같은 문제에 직면하고 내가 해결 / domain1을 / lib 디렉토리 내 문제 도메인에있는 모든 내 타사 라이브러리를 넣어. 다른 방법 라운드에서 내 문제는 글래스 피쉬 / lib 디렉토리에 라이브러리를 넣어도 해결되었다.

    글래스 피시는 자신의 클래스 로더 계층 구조를 가지고, http://docs.oracle.com/cd/E19798-01/821-1752/beade/index.html 나는 내 프로젝트에서 같은 문제에 직면하고 내가 해결 / domain1을 / lib 디렉토리 내 문제 도메인에있는 모든 내 타사 라이브러리를 넣어. 다른 방법 라운드에서 내 문제는 글래스 피쉬 / lib 디렉토리에 라이브러리를 넣어도 해결되었다.

  4. ==============================

    4.내 경우에는 내가 오라클 익스프레스 에디션 11gR2 및 글래스 피시 3.1.2 내 경우에는 작품에 ojdbc6을 두는 것을 유일한 방법을 사용했다 :

    내 경우에는 내가 오라클 익스프레스 에디션 11gR2 및 글래스 피시 3.1.2 내 경우에는 작품에 ojdbc6을 두는 것을 유일한 방법을 사용했다 :

    C:\Program Files\glassfish-3.1.2.2\glassfish\lib
    
  5. ==============================

    5.$ GF_HOME / 글래스 피쉬 / 모듈 /로 libs와 넣어보십시오. 그것은 더러운,하지만 작동합니다.

    $ GF_HOME / 글래스 피쉬 / 모듈 /로 libs와 넣어보십시오. 그것은 더러운,하지만 작동합니다.

  6. ==============================

    6.(예) C : \ glassfish3 \ 글래스 피쉬 \ 도메인 \ domain1을 \ lib 디렉토리

    (예) C : \ glassfish3 \ 글래스 피쉬 \ 도메인 \ domain1을 \ lib 디렉토리

  7. from https://stackoverflow.com/questions/2507099/how-to-use-3rd-party-libraries-in-glassfish by cc-by-sa and MIT license