2016-08-05 32 views
0

Ich bin nicht in der Lage, das ETL-Importer arbeiten zu lassen.OrientDB ETL - IllegalAccessError Ausnahme

die Config-Datei Ich verwende die folgende

{ 
    "config": { 
    "log": "debug" 
    }, 
    "begin": [], 
    "source": { 
    "file": { 
     "path": "/mnt/shares/Sites/store.csv"  
    } 
    }, 
    "extractor": { 
    "csv" : { 
     "ignoreEmptyLines": true 
    } 
    }, 
    "transformers": [ 
    { 
     "vertex": { 
     "class": "Store" , 
     "skipDuplicates": true 
     } 
    } 
    ], 
    "loader": { 
    "orientdb": { 
     "dbURL": "plocal:/usr/local/src/orientdb-community-2.2.6/databases/my_database_name", 
     "dbUser": "myuser", 
     "dbPassword": "mypass", 
     "dbAutoCreate": false, 
     "tx": false, 
     "batchCommit": 1000, 
     "wal" : false 
    } 
    }, 
    "end": [] 
} 

und der Fehler ich erhalte ist:

Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.orientechnologies.common.exception.OException.(Ljava/lang/String;Ljava/lang/Throwable;)V from class com.orientechnologies.orient.etl.OETLProcessor at com.orientechnologies.orient.etl.OETLProcessor.parseConfigAndParameters(OETLProcessor.java:136) at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:113)

i auch den gleichen Fehler haben, wenn ich die Datei config setzen nur mit dem "config" -Eintrag allein ...

Wer hat schon Ideen zum Thema?

UPDATE: der Fehler in OETLProcessor.java auf der folgenden Zeile geworfen zu werden scheint:

 final OTransformer tr = factory.getTransformer(name); 

Antwort

0

nach dem erneuten Versuch fand ich das Problem: aus irgendeinem Grund hatte ich 2 verschiedene .jar Version, und offensichtlich war die eine die falsche verwendet. ich hatte - ORIENTDB_HOME/LIB/Orientdb-etl-2.1.3.jar - ORIENTDB_HOME/LIB/Orientdb-etl-2.2.6.jar

i die 2.1.3 ein in nur umbenannt Orientdb-ETL- 2.1.3.jarUNUSED

und die Dinge begannen zu arbeiten.

Das nächste Problem war, dass ich nicht mit dem root-Konto zugreifen konnte (es gibt ein klar beschriebenes Motiv auf einem GitHub-Problem, aber ich kann es nicht wieder finden ...), also habe ich ein neues erstellt Admin-Konto und verwendet das stattdessen.

So am Ende hat es funktioniert.

0

ich versucht, diese csv

storeid,name 
1,store1 
2,store2 
3,store3 

mit diesem json

{ 
     "config": { 
     "log": "debug" 
     }, 
     "begin": [], 
     "source": { 
     "file": { 
      "path": "myPath/Store.csv"  
     } 
     }, 
     "extractor": { 
     "csv" : { 
      "separator": ",", 
      "ignoreEmptyLines": true 
     } 
     }, 
     "transformers": [ 
     { 
      "vertex": { 
      "class": "Store" , 
      "skipDuplicates": true 
      } 
     } 
     ], 
     "loader": { 
     "orientdb": { 
      "dbURL": "plocal:myPath/Store", 
      "dbUser": "admin", 
      "dbPassword": "admin", 
      "dbAutoCreate": false, 
      "tx": false, 
      "batchCommit": 1000, 
      "wal" : false 
     } 
     }, 
     "end": [] 
    } 
zu importieren

und es funktionierte für mich.

enter code here

Hoffe, es hilft.

+0

Einige Fragen: haben Sie relative Pfade für die Quelldatei und dbURL verwendet? wurde der Server ausgeführt? (Ich lese jemanden sagen, dass mit Plocal der Server sollte nicht ausgeführt werden) Ich beginne zu denken, dass etwas mit env Variablen oder etwas ähnliches verwandt ist – Stormsson

+0

Ich habe einen relativen Pfad und der Server wurde gestoppt –

+0

nichts, änderte ich den Pfad relativ zum Ausführungsverzeichnis, aber nichts hat sich geändert ... ich habe bemerkt, dass ich aus irgendeinem Grund 2 verschiedene .jar-Versionen des etl-Moduls habe Es sieht so aus, dass die Ausnahme vor dem Lesen der Konfigurationsdatei ausgelöst wird – Stormsson