MacOS 系统下无法加载扩展库及自定义函数
系统环境
MacOS 系统版本:macOS Sonoma 14.3.1
没有自定义 JDK,使用内置 jre1.8(java.runtime.version=1.8.0_202-b08)
使用集算器版本为 20240201,下载了 20240329 最新 jar 包替换到 lib 目录
遇到的问题
1. 配置 extLibsPath 时, 没有列出可用的 lib 库(目录下有 HtSplRptCli)
2. 自己通过先关闭 SPL,然后修改 raqsoftConfig.xml 的方式,加载 functions.properties 配置文件也没有效果
functions.properties 函数配置:
raqsoftConfig.xml 部分配置:
<extLibsPath>/***/extlibs</extLibsPath>
<importLibs>
<lib>HtSplRptCli</lib>
</importLibs>
<customFunctionFile>/***/extlibs/functions.properties</customFunctionFile>
添加以上配置后,重新启动 SPL,运行脚本时仍然提示:
单元格 [/***/qywx_rpt.splx].A4 中有错误
不能识别的表达式:
joblog
网格中调用自定义函数:
3. 通过在外部库 HtSplRptCli 根目录建立文件 com/scudata/lib/***/functions.properties 也没有效果
路径如下:
/***/extlibs/HtSplRptCli/com/scudata/lib/func/functions.properties
4. 后来以为是 Mac 对用户的文件目录有访问限制,将 extLibsPath 移动到应用目录下 /Applications/esProc.app/Contents/raqsoft/esProc/extlibs/,依然没有效果,依旧报错。
社区大佬们帮瞅瞅是咋回事。。。
【已解决】
1、不使用 raqsoftConfig.xml 中的自定义函数配置,那个应该不能加载扩展库路径中的函数
2、打包时要将文件 com/scudata/lib/func/functions.properties 打包到 jar 包中
我使用了同样版本的集算器在 MacOS 测试了外部库设置,有访问权限时可以正常列出来,勾选后重启设计器后可以正常加载使用。
想确认一下是外部库 jar 包还是系统环境的问题。
该外部库同样设置在其他系统环境可以正常使用吗? 或者可以下载一个其他的外部库在 MacOS 测试一下。
关于访问权限可以放一个 splx 文件在 extlibs 同级目录下,用集算器打开看一下能否访问。
谢谢,我已经解决了。