java - Fuseki 服务器不显示数据集
问题描述
我是 Tomcat、Fuseki 和 Shiro.ini 文件的新手,所以请原谅我提出愚蠢的问题。
系统:
- MacMini ==> OS.X 10.13(作为开发服务器)
- Java ==> 8
- 雄猫 ==> 9.0.10
工作流程:
- 通过 Plist 文件,Tomcat 实例在服务器每次启动时启动。
- 在
/Users/username/tomcat/webapps
我已经将fuseki.war
成功提取的文件放入其中。 - 我插入了一个定制的 RDF 文件,该文件在重新启动后加载并提供
- (这是好事结束的地方)
问题:
我可以通过以下方式访问 RDF 文件:http://localhost:8080/fuseki
我可以执行 SPARQL 查询以及我需要完成的所有其他事情。但是,当将开发服务器连接到 PC 并通过它的 IP 访问它时:例如http://192.168.0.112:8080/fuseki
;我最终看到服务器状态为绿色,除了数据集之外,整个 Web 界面都可以正常工作。当我去http://192.168.0.112:8080/fuseki/dataset
并按“查询”(或任何其他按钮)时,它会显示:“请选择一个数据库”
**原因:我发现这个线程fuseki webinterface does not show datasets (SO),这导致我调查 shiro.ini 文件。事实证明我没有。
然后我搜索了 shiro.ini 并在以下位置找到了参考/Users/username/tomcat/webapps/fuseki/WEB-INF/web.xml
:
<context-param>
<param-name>shiroConfigLocations</param-name>
<!-- Try a path in: FUSEKI_BASE, FUSEKI_HOME, war resource
If a "file:" then look there and there only.
-->
<param-value>shiro.ini</param-value>
</context-param>
这让我觉得我需要将 shiro.ini 文件放在我的根文件夹 ( Users/username/tomcat/webapps/fuseki/shiro.ini
) 而不是 ( Users/username/tomcat/webapps/fuseki/run/shiro.ini
) 中。但是,两者都不起作用。
我还查看了一个日志文件:catalina.out
,据此看来,shiro.ini 文件已被加载(或者至少没有迹象表明它存在错误。)这是该日志的相关摘录:
[2018-07-31 09:18:54] Config INFO FUSEKI_HOME=unset
[2018-07-31 09:18:54] Config INFO FUSEKI_BASE=/etc/fuseki
[2018-07-31 09:18:54] Config INFO Shiro file: file:///etc/fuseki/shiro.ini
[2018-07-31 09:18:55] Config INFO Context path = /fuseki
[2018-07-31 09:18:55] Config INFO Configuration file: /etc/fuseki/config.ttl
但是我找不到任何文件夹etc/fuseki/
?那么这是怎么回事呢?
这是shiro.ini
文件:
[users]
admin=passXXX #non-default
[main]
#localhost=org.apache.jena.fuseki.authz.LocalhostFilter
[roles]
[urls]
##control open to anyone
/$/status = anon
/$/ping = anon
##rest restricted to Localhost
## see above for localhost
#/$/** = localhost
/**=anon
我不确定此时发生了什么,所以任何指针都非常受欢迎。
解决方案
事实证明,这个问题更多地与我对 MAC OS 的不熟悉有关,而不是与 Tomcat 或 Fuseki 有关。
catalina.out 文件中引用的文件夹 /etc/fuseki 被紧紧锁定,它的实际路径是 /private/etc/fuseki (尽管这似乎无关紧要)
默认情况下,由于根本没有权限,您无法进入 fuseki 文件夹。甚至在做:
sudo cd /private/etc/fuseki
或者
sudo cd /etc/fuseki
不会工作。我需要通过 getinfo 授予自己对该文件夹的读/写访问权限(尽管我认为您也可以通过chown
.
现在我可以查看该文件夹的内容,但其中的所有文件和文件夹都有相同的问题并且需要相同的解决方案。所以现在我可以自定义 shiro.ini 和 configuration/rdf.ttl 文件。
如果我做
sudo cd /private/etc/fuseki
或者
sudo cd /etc/fuseki
现在,那我就可以成功查看内容了。
推荐阅读
- python - Python存储值
- php - 将结果查询回显到数组
- python - 如何分别对列表中的项目求和?
- r - Strucchange 声称没有中断日期,但仍然报告它们
- r - 计算 R 中阈值后的价格变化
- jfrog-xray - Xray -Artifactory 集成 [无法保存访问配置]
- java - 使用 Java 同时调用多个 Web 服务
- javascript - SyntaxError: Unexpected identifier 'TypeIt'. import call expects exactly one argument
- php - 如何 PHP 循环,找到子类别直到没有更多的孩子,然后移动到兄弟姐妹?
- javascript - Javascript - 在同一选项卡中打开 HTML 文件