我正在尝试设置一个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交易器的日志中看到该交易器正确使用了jar文件吗?
答案 0 :(得分:1)
从最新版本(0.9.5786)开始,存在一个错误,其中Windows脚本中未考虑DATOMIC_EXT_CLASSPATH
。作为解决方法,我在Datomic发行版中通过将bin\classpath.cmd
附加到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%
通过此修复程序,一切正常