Использование spatialite с xerial / sqlite-jdbc в macOS

#java #sqlite #jdbc #spatialite #geopackage

#java #sqlite #jdbc #spatialite #геопакет

Вопрос:

У меня возникли некоторые проблемы с загрузкой расширения spatialite в Java для чтения геопакета, у меня есть следующий фрагмент:

 import org.sqlite.SQLiteConfig;

import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

public class DatabaseTest {

    public static void main(String[] args) throws SQLException, URISyntaxException {
        URI databaseURI = DatabaseTest.class.getResource("/database.gpkg").toURI();
        String databaseURL = String.format("jdbc:sqlite:%s", databaseURI);
        SQLiteConfig config = new SQLiteConfig();
        config.enableLoadExtension(true);
        Connection connection = config.createConnection(databaseURL);

        Statement statement = connection.createStatement();
        boolean success = statement.execute("SELECT load_extension('mod_spatialite')");
        System.out.println(success);
        statement.close();
        connection.close();
    }

}
  

Это приводит к [SQLITE_ERROR] SQL error or missing database (dlopen(mod_spatialite.dylib, 10): image not found)

Если я изменю на

 boolean success = statement.execute("SELECT load_extension('/usr/local/lib/mod_spatialite')");
  

Это приводит к Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

Есть ли что-то, чего мне не хватает. Я установил sqlite3 и spatialite использую Homebrew, и это та версия spatialite , которую я пытаюсь использовать.