2016-12-01 1 views
0

intelliJ 아이디어에서 mycode를 실행하면 잘 작동하지만 내 서버에서 jar 파일을 실행할 때 아래 오류가 발생합니다. 나는 'org.mongodb : mongodb-driver : 3.4.1'버전을 사용하고 있습니다.스레드 "main"의 Java 예외가있는 MongoDB java.lang.NoClassDefFoundError : org/bson/conversions/Bson

Exception in thread "main" java.lang.NoClassDefFoundError: org/bson/conversions/Bson 
     at com.myapp.server.mongo.MongoDbHandler.prepareMongoDb(MongoDbHandler.java:68) 
     at com.myapp.server.mongo.MongoDbHandler.<init>(MongoDbHandler.java:22) 
     at com.myapp.server.Client.main(Client.java:167) 
Caused by: java.lang.ClassNotFoundException: org.bson.conversions.Bson 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:372) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:360) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     ... 3 more 
+0

더 자세한 정보를 제공해 주시겠습니까? 웹 서버, 응용 프로그램 서버 또는 mongo 서버를 언급하고 있습니까? 사용중인 Java 버전은 무엇입니까? 그것은 maven 빌드입니까? IntelliJ Idea에서와 동일한 서버 버전을 사용하고 있습니까? – dirbacke

+0

대부분 종속성 문제입니다. 'pom.xml' 또는'build.gradle' 또는'ivy.xml'의 일부 또는 의존성을 정의하는 곳이면 어디든지 게시 할 수 있습니다. 당신의 Gradle을 빌드 의존성 아래 –

+0

내가 서버 자바와 1.7 자바 버전 – Swapnil

답변

0

만약 당신이 사용하고있는 BSON 라이브러리가 무엇이든간에 스스로를 알아야합니다. 나는 몽고가 당신 문제라고 말하지 않을 것이다.

키 라인은 여기에 있습니다 : 그래서 특정 클래스를 찾는 아니라고 말하는 ": java.lang.ClassNotFoundException가에 의한 org.bson.conversions.Bson"

, 내가 IntelliJ를 들여다 볼 것 어떤 BSON 라이브러리인지, 서버의 빌드 디렉토리 (또는 java lib)에 넣으십시오.

+0

이전에 다른 버전의 bson 라이브러리로이 솔루션을 시도했지만 동일한 결과가 나타납니다. 내 문고 라이브러리를 2.10.0에서 3.4.0으로 업데이트했습니다.이 문제에 직면했습니다. – Swapnil

+0

버전을 변경하지 않아도됩니다. 아마도/java가 디렉토리에 있어야하는 경우 일 것입니다. 확인하는 가장 쉬운 방법은 항아리와 수입 <여기 bson 라이브러리의 삽입 파일 이름>과 같은 디렉토리에 넣어하는 것 (즉, 수입 bson3.2.1, 파일 확장자를 제외)는 경로 문제가 있다면 당신이 볼 수 있도록해야 . – Hans

+0

하지만 2.10.0 버전에서 몇 가지 메소드가 사용되지 않으므로 최근 버전 3.4.0으로 업데이트되었습니다. – Swapnil

0

나는 비슷한 문제가있는 사람들을 위해 오래된 스레드와 그 스레드를 알고 있습니다. 코드를 다시 검사 line.After 명령에 의해 병을 실행하는 동안 다시 나는 또한 같은 오류 추적과 같은 문제에 직면 한 며칠은

It was not a problem of the jar version but its problem of the packaging of the jar

모든 적절한 의존성과 함께 항아리 포장 한 후이 문제를 해결할 것을 발견했다.

나는 포장과 그 작품

maven-assembly-plugin

을 사용했다.

.

관련 문제