Über Classpath MongoDB Treiber einbinden und korrekte import Pfade

Chrisux1234

Mitglied
Leider kann ich keine Moderne IDE einsetzen.
Daher muss ich mich mit Javac begnügen.


Hier ist mein Javac Befehl:

Code:
javac -classpath "mongodb-driver-3.7.0-javadoc.jar:mongodb-driver-async-3.7.0-javadoc.jar:mongodb-driver-core-3.7.0-javadoc.jar:mongodb-driver-sync-3.7.0-javadoc.jar:mongo-java-driver-3.7.0-javadoc.jar"  mongodb_connection.java
Sofern ich alles richtig verstanden habe benötige ich folgenden Fünf Jar Dateien für die Version 3.7.0
https://mongodb.github.io/mongo-java-driver/

Die jar Dateien sind wie die java Datei im selben Ordner.
Aber nun kommen wir zu meiner vermuteten Fehlerquelle.
Die Pfade bei den Import Befehlen sind vermute ich falsch. Ich weiß aber nicht wie ich die richtig setzen soll :-(

Java Code:
Code:
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.ServerAddress;

import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;

import org.bson.Document;
import java.util.Arrays;
import com.mongodb.Block;

import com.mongodb.client.MongoCursor;
import static com.mongodb.client.model.Filters.*;
import com.mongodb.client.result.DeleteResult;
import static com.mongodb.client.model.Updates.*;
import com.mongodb.client.result.UpdateResult;
import java.util.ArrayList;
import java.util.List;



import java.util.List;
import java.util.Set;



import static java.util.concurrent.TimeUnit.SECONDS;

public class mongodb_connection{

    public static void main( String args[] ){

      System.out.println("Hello World");

/*
You can instantiate a MongoClient object without any parameters to connect to a MongoDB instance running on localhost on port 27017
*/
      try{
          //Connection
          //          MongoClient mongoClient = new MongoClient("127.0.0.1",27017 );

          //          DB db = mongoClient.getDB("mydb");
         
      }catch(IllegalArgumentException  ie){
          System.err.println(ie.getMessage());
      }

     
    }
}


Fehlermeldungen beim kompilieren:
import com.mongodb.MongoClient;
^
mongodb_connection.java:2: error: package com.mongodb does not exist
import com.mongodb.MongoClientURI;
^
mongodb_connection.java:3: error: package com.mongodb does not exist
import com.mongodb.ServerAddress;
^
mongodb_connection.java:5: error: package com.mongodb.client does not exist
import com.mongodb.client.MongoDatabase;
^
mongodb_connection.java:6: error: package com.mongodb.client does not exist
import com.mongodb.client.MongoCollection;
^
mongodb_connection.java:8: error: package org.bson does not exist
import org.bson.Document;
^
mongodb_connection.java:10: error: package com.mongodb does not exist
import com.mongodb.Block;
^
mongodb_connection.java:12: error: package com.mongodb.client does not exist
import com.mongodb.client.MongoCursor;
^
mongodb_connection.java:13: error: package com.mongodb.client.model does not exist
import static com.mongodb.client.model.Filters.*;
^
mongodb_connection.java:14: error: package com.mongodb.client.result does not exist
import com.mongodb.client.result.DeleteResult;
^
mongodb_connection.java:15: error: package com.mongodb.client.model does not exist
import static com.mongodb.client.model.Updates.*;
^
mongodb_connection.java:16: error: package com.mongodb.client.result does not exist
import com.mongodb.client.result.UpdateResult;
^
12 errors
 
Leider kann ich keine Moderne IDE einsetzen.
Warum denn nicht? 😵

Daher muss ich mich mit Javac begnügen.
Kannst du wenigstens ein Build-Tool nutzen?
Per Hand mit Abhängigkeiten zu kompilieren verlangt hoffentlich niemand...

Hier ist mein Javac Befehl:

Code:
javac -classpath "mongodb-driver-3.7.0-javadoc.jar:mongodb-driver-async-3.7.0-javadoc.jar:mongodb-driver-core-3.7.0-javadoc.jar:mongodb-driver-sync-3.7.0-javadoc.jar:mongo-java-driver-3.7.0-javadoc.jar"  mongodb_connection.java
Sofern ich alles richtig verstanden habe benötige ich folgenden Fünf Jar Dateien für die Version 3.7.0
https://mongodb.github.io/mongo-java-driver/

Die jar Dateien sind wie die java Datei im selben Ordner.
Aber nun kommen wir zu meiner vermuteten Fehlerquelle.
Die Pfade bei den Import Befehlen sind vermute ich falsch. Ich weiß aber nicht wie ich die richtig setzen soll :-(

Die Imports sind richtig, du gibst beim Kompilieren aber nur die Javadoc-Jars an, du solltest da schon die normalen jars nutzen 😉
 
Danke schonmal ich komme der Sache näher.
Der Javac Befehl scheint jetzt richtig zu sein.
Code:
javac -classpath "bson-3.7.0.jar:mongodb-driver-3.7.0.jar:mongodb-driver-core-3.7.0.jar" mongodb_connection.java

Nur der Java Code macht jetzt Probleme.
Code:
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.ServerAddress;

import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;

import org.bson.Document;
import java.util.Arrays;
import com.mongodb.Block;

import com.mongodb.client.MongoCursor;
import static com.mongodb.client.model.Filters.*;
import com.mongodb.client.result.DeleteResult;
import static com.mongodb.client.model.Updates.*;
import com.mongodb.client.result.UpdateResult;
import java.util.ArrayList;
import java.util.List;



import java.util.List;
import java.util.Set;



import static java.util.concurrent.TimeUnit.SECONDS;

public class mongodb_connection{

    public static void main( String args[] ){

      System.out.println("Hello World");

/*
You can instantiate a MongoClient object without any parameters to connect to a MongoDB instance running on localhost on port 27017
*/
      try{
          //Connection
      MongoClient mongoClient = new MongoClient("127.0.0.1",27017 );
      //      DB db = mongoClient.getDB("mydb");
        
      }catch(IllegalArgumentException  ie){
          System.err.println(ie.getMessage());
      }

    
    }
}

Fehlermeldung:
java mongodb_connection
Hello World
Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/MongoClient
at mongodb_connection.main(mongodb_connection.java:40)
Caused by: java.lang.ClassNotFoundException: com.mongodb.MongoClient
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Das verzweifelte einfügen von
import java.lang.*;
import java.net.URLClassLoader.*
hat eben auch nicht geholfen :/
 
Ich liebe euch.
java -cp .:/home/cseipel/mongo/* mongodb_connection
Hello World
Mai 04, 2018 7:38:13 PM com.mongodb.diagnostics.logging.JULLogger log
INFORMATION: Cluster created with settings {hosts=[127.0.0.1:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
Endlich kann ich mal anfangen zu programmieren.
 

Neue Themen


Zurück
Oben