前言
将Esclipse写的java函数生成jar包导入服务器/本地的GraphDB中,并拷贝到docker容器中,使得在SPARQL查询端点可以使用该函数,以下有两种方式,推荐第二种,第一种将jar包拷贝到服务器的时间非常长。
提示:以下是本篇文章正文内容,下面案例可供参考
一、上传至服务器,再拷贝到docker中(不建议)
(1)首先去官网安装VS Code;
(2)打开VS Code,然后点击扩展,即左边6个图标的第5个,然后搜索并下载Remote-SSH插件;
?(3)之后点击远程资源管理器,即左边最后一个图标,再点击+,连接远程的的服务器,我这边是已经输入ssh?-p?55292?root@cn-hk-nf-1.natfrp.cloud,连接到我自己这边的服务器,再输入密码即可连接上服务器。
?
?(4)连接成功,即如下所示,多出一个远程文件。再点击文件旁边的+号,即进入服务器(也要输入服务器密码),如下面第二张图所示。再选择打开文件夹,选择想要将jar包拷贝到服务器的路径,(我这边是/home/sensorweb/GraphDB_Jars),进入后就如第三张图显示,直接将jar包拖进这个目录下就行,如图中的Function.jar所示,就是我拷贝到此服务器的jar包。至此,将jar包放到服务器中的指定路径就结束了,接下来就是把这个Function.jar复制到docker容器内,即可在GraphDB的SPARQL端点进行Function.jar内的函数的使用。
?(5)将Function.jar拷贝到docker容器内(可直接在VS Code内的终端内实现)。首先你要有docker容器。安装好后在终端输入docker ps -a,查看docker中的容器名称(你的服务器里应该有安装好的docker以及graphdb安装在docker中)。如下图所示,graphdb的容器名称是eb8fc2f8e21c。
?然后输入docker?cp?/home/sensorweb/GraphDB_Jars/Function.jar?eb8fc2f8e21c:/opt/graphdb/dist/lib/
(将Function.jar复制到容器eb8fc2f8e21c的/opt/graphdb/dist/lib/的路径下)
docker?restart?eb8fc2f8e21c(重启该容器即可)
之后就可以在graphdb上使用Function.jar里的函数。
前提是:已经下载了graphdb并已经在docker中安装,之后才能查看容器名称 ?
二、将jar包导入本地的graphDB
1、首先下载并安装grapdb在docker中(win10直接在命令行里输入下面两行命令即可)
- 下载镜像 :?
docker pull happysboy/graphdb-free:9.10.0-free
- 安装:?
docker run -d -p 7200:7200 --name=graphdb happysboy/graphdb-free:9.10.0-free
安装好后在终端(我的是win10)输入docker ps -a,查看docker中的容器名称,后续要用到.
我这边的graphdb容器名称是088fa9874afa。
2.复制scks.jar包到此容器内
docker cp C:\Users\Administrator\Desktop\scks.jar 088fa9874afa:/opt/graphdb/dist/lib/
C:\Users\Administrator\Desktop\scks.jar是你的jar包的具体路径(自行修改)
088fa9874afa是graphdb容器名称(自行修改)
改完上面两个后直接运行就行
docker restart 088fa9874afa
再重启此容器就行了。
?3.如果你想删除之前复制到此容器中的jar文件:
进入docker容器:docker?exec?-it?088fa9874afa?/bin/bash 删除目标jar:rm?/opt/graphdb/dist/lib/XX.jar 退出:exit 重启:docker?restart?088fa9874afa
4.重启之后,在浏览器输入localhost:7200,就可以进入sparql查询界面(需要import自己这边的数据库,才能进行查询)
总结 本文仅仅简单介绍了将jar包导入服务器/本地的graphDB,下一篇介绍Esclipse导出的jar包包含的函数如何写。
|