Загрузить файл CSV, расположенный в пути к классам для базы данных H2

Для целей тестирования я хочу создать и заполнить некоторые таблицы с помощью SQL сценарии, а также файлы CSV.

Итак, я создал сценарий SQL, подобный этому:

CREATE TABLE T_FOO (
  ...
) as select * from CSVREAD('classpath:/foo.csv');

Файл foo.csv существует и находится в src / test / resources ].

Когда этот сценарий запускается в Eclipse (где src / test / resources определен как исходный каталог и, таким образом, включен в путь к классам), я получаю следующую ошибку:

Caused by: java.io.FileNotFoundException: resource /foo.csv
    at org.h2.store.fs.FileSystemDisk.openFileInputStream(FileSystemDisk.java:388)
    at org.h2.util.IOUtils.openFileInputStream(IOUtils.java:708)
    at org.h2.tools.Csv.initRead(Csv.java:317)
    at org.h2.tools.Csv.readResultSet(Csv.java:217)
    at org.h2.tools.Csv.read(Csv.java:193)
    ... 49 more

What я сделал неправильно? Как правильно использовать протокол classpath: для загрузки файла CSV?

Если я укажу полный путь к файлу (например, ... CSVREAD ('C: \ my-project \ src \ test \ resources \ foo.csv '); ), то он работает. Но я хочу этого не поэтому:)

Обратите внимание, что я использую последнюю версию H2 ( 1.3.153 ) как Я хотел использовать протокол classpath: для загрузки моего файла .

9
задан Community 23 May 2017 в 11:48
поделиться