项目中有用到TDengine,MacOS m1芯片本地开发启动项目报错如下
java.lang.UnsatisfiedLinkError: no taos in java.library.path
方案一(推荐)
以上错误是因为java在连接TDengine数据库的时候没有找到本地函数库。本地安装一下TDengine,然后在/usr/local/lib/
下就会有taos函数库。
因此,打开IDE的Run/Debug Configuration
面板之后只要在jvm参数加一条-Djava.library.path=/usr/local/lib/
, 指定函数库的地址即可。
方案二(理论上可以但没有实践):
官方文档中有这个问题的解决方案:常见问题
换言之,只需要执行这条命令即可:ln -s /usr/local/lib/libtaos.dylib /usr/lib/
意思就是把/usr/local/lib/
下的库文件(libtaos.dylib
)软链接到/usr/lib/
下面,jdk会自动去/usr/lib
下找taos库。 但是macOS对/usr/lib/
这个文件夹做了保护,所以sudo也无法对该文件夹进行写的操作。解决无法对/usr/lib
做写操作这个问题,太麻烦。不推荐。