Stardog: невозможно загрузить класс [org. postgresql .Driver] - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь следовать учебнику по Stardog для , используя виртуальные графики .

В соответствии с инструкциями я установил переменную окружения $STARDOG_EXT.

JDB C Настройка

Stardog не поставляется с драйверами JDB C, поэтому вам необходимо вручную скопировать файл JAR, содержащий драйвер для вашей RDBMS, в путь к классам Stardog сервер. Предпочтительный способ сделать это - установить переменную среды STARDOG_EXT так, чтобы она указывала на каталог за пределами установочного каталога Stardog и копировала туда файл jar:

$ export STARDOG_EXT=/opt/stardog/ext
$ mkdir $STARDOG_EXT
$ cp JDBC_JAR_FILE $STARDOG_EXT

У меня скопирован файл JAR в указанном выше месте, как указано ниже.

bilesh@vm-ubuntu:~$ echo $STARDOG_EXT 
/opt/stardog/ext

bilesh@vm-ubuntu:~$ cd $STARDOG_EXT

bilesh@vm-ubuntu:/opt/stardog/ext$ ls -la
total 916
drwxr-xr-x 2 root    root      4096 Feb 19 20:22 .
drwxr-xr-x 9 stardog stardog   4096 Feb 19 20:21 ..
-rw-r--r-- 1 stardog root    927447 Feb 19 20:22 postgresql-42.2.10.jar

Но я получаю ошибку Unable to load class: org.postgresql.Driver при попытке создать виртуальный граф с помощью PostgreSQL.

bilesh@vm-ubuntu:~$ sudo /opt/stardog/stardog-server.sh start
Starting stardog
Starting Stardog server in background, see /var/opt/stardog//stardog.log for more information.

bilesh@vm-ubuntu:~$ cd Workspace/Stardog/pgsql_demo

bilesh@vm-ubuntu:~/Workspace/Stardog/pgsql_demo$ stardog-admin virtual add music.properties music_mappings.ttl
Unable to load class: org.postgresql.Driver from ClassLoader:sun.misc.Launcher$AppClassLoader@619a5dff;ClassLoader:java.net.URLClassLoader@3b63d1de

Мой файл свойств PostgreSQL (music.properties) и файл сопоставления (music_mappings.ttl) находятся в папке - ~/Workspace/Stardog/pgsql_demo.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

Вам необходимо установить STARDOG_EXT по-разному при использовании пакета. Он не будет виден среде демона, если вы установите его только в своей оболочке. См. Документы здесь: https://www.stardog.com/docs/#_package_layout

Также вы должны использовать systemd / systemctl для запуска сервера при такой установке

0 голосов
/ 20 февраля 2020

Чтобы заставить его работать, я поместил файл JAR (postgresql-42.2.10.jar) в $JAVA_HOME/jre/lib/ext/ и перезапустил сервер.

После этого я смог успешно создать виртуальный граф.

Не уверен, что именно так я должен поступить в будущем.

...