最近突发奇想,想来搞这个,但是事情远远没有想象中那么简单。
起初,我通过百度搜到了java可以使用sigar来获取系统信息。
然后我很快就遇到了问题。。。
问题1. maven仓库无法下载sigar的jar包。。
反正就是冒红,尝试换源也没有用,后面查了百度,发现不止是我一个人是这个样子的,然后去官网,找到了jar包。。
问题2:单纯的jar包会报错
使用jar包会报一个异常,这个异常就是说,你需要相关的dll文件。
也就是说,这个jar包本质上就是调用的dll库文件。。。
然后我就把这个lib文件夹丢进去了。这回总算是跑起来了。
问题3:使用maven打包失败,无法找到sigar这个jar包。
这里的问题就是因为,maven不认你手动导入的包,只认pom.xml里的jar包。所以我这里决定手动导入一个依赖。
首先我把sigar放在了D盘的根目录,这样的话,就是比较的好找。
mvn install:install-file -DgroupId=org.hyperic -DartifactId=sigar -Dversion=2.0-SNAPSHOT -Dpackaging=jar -Dfile=D:/sigar-2.0-SNAPSHOT.jar
这个本地依赖搞好了后,就可以在maven的本地仓库看到了。
然后就是导入依赖
但是这个时候还没有完,由于这个jar包是依赖库文件的,所以需要在本地的仓库导入相关的库文件,也就是上面截图的那个
这个时候写一个测试方法,通过。
问题4:maven打成jar包后报错了
这里我百度了,然后发现可以使用
这个命令, 这里我是提前将lib复制到了D盘根目录
java -jar -Djava.library.path=D:/lib
然后我觉得要这样打命令还是太麻烦了。
然后我决定配置一波系统的环境变量,
这里我是已经部署到了服务器上了
果然成功了。。