Zu Testzwecken möchte ich einige Tabellen mit SQL-Skripten und CSV-Dateien erstellen und füllen.
Also habe ich ein SQL-Skript wie dieses erstellt:
%Vor% Die Datei foo.csv
existiert und befindet sich in src/test/resources
.
Wenn dieses Skript auf Eclipse ausgeführt wird (wobei src/test/resources
als Quellverzeichnis definiert ist und daher im Klassenpfad enthalten ist), erhalte ich den folgenden Fehler:
Was habe ich falsch gemacht? Wie kann das classpath:
-Protokoll zum Laden einer CSV-Datei korrekt verwendet werden?
Wenn ich den vollständigen Pfad für die Datei einstelle (wie ... CSVREAD('C:\my-project\src\test\resources\foo.csv');
), funktioniert es. Aber das ist nicht der Grund, warum ich das tun möchte:)
Beachten Sie, dass ich die neueste Version von H2 ( 1.3.153 ) als Ich wollte das classpath:
Protokoll verwenden, um meine Datei zu laden .
Auch wenn die offiziellen Dokumente das Beispiel CSVREAD('classpath:/org/acme/data/address.csv')
angeben, Sean Patrick Floyd schlug vor, den führenden Schrägstrich zu entfernen, dh mit:
und das ist funktioniert !
Tags und Links java testing h2 in-memory-database