macOS m1芯片报错 java.lang.UnsatisfiedLinkError: no taos in java.library.path

项目中有用到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/, 指定函数库的地址即可。
image

方案二(理论上可以但没有实践):

官方文档中有这个问题的解决方案:常见问题

换言之,只需要执行这条命令即可: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做写操作这个问题,太麻烦。不推荐。

posted @ 2024-03-07 16:36  _戈多  阅读(410)  评论(0编辑  收藏  举报