Настройка функций пути к классам Datomic для использования в Transactor в Windows - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь установить функцию classpath, которая будет использоваться моими пользовательскими транзакционными функциями, как описано здесь: https://docs.datomic.com/on-prem/database-functions.html#classpath-functions

Я установил переменную окружения DATOMIC_EXT_CLASSPATH для пути к моему файлу .jar и добавил:requires к транзакционной функции.Тем не менее, при попытке запустить функцию я получаю ошибку FileNotFoundException Could not locate some_ns/some_file.clj on classpath.

Я использую Windows 8, я должен сделать некоторые дополнительные шаги?Могу ли я увидеть в журналах Datomic Transactor, что Transactor правильно использует файл JAR?

1 Ответ

0 голосов
/ 09 марта 2019

Начиная с последней версии (0.9.5786) существует ошибка, из-за которой DATOMIC_EXT_CLASSPATH не учитывается в сценариях Windows. В качестве обходного пути я изменил файл bin\classpath.cmd в дистрибутиве Datomic, добавив DATOMIC_EXT_CLASSPATH к CP_LIST:

@echo off
set CP_LIST=

for %%i in (.\lib\*.jar) do call bin\cpbuild.cmd %%i
for %%i in (.\*transactor*.jar) do call bin\cpbuild.cmd %%i
set CP_LIST=bin;resources;%CP_LIST%;%DATOMIC_EXT_CLASSPATH%

С этим исправлением все отлично работает

...