Fuseki服务器不显示数据集

时间:2018-07-31 08:05:16

标签: java tomcat shiro fuseki

我是Tomcat,Fuseki和Shiro.ini文件的新手,请原谅我提出愚蠢的问题。

系统:

  • MacMini ==> OS.X 10.13(充当开发服务器)
  • Java ==> 8
  • Tomcat ==> 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

我不确定这是怎么回事,因此任何指针都不值得欢迎。

1 个答案:

答案 0 :(得分:1)

事实证明,这个问题更多与我对MAC OS的不熟悉有关,而不是与Tomcat或Fuseki有关。

catalina.out文件中引用的/ etc / fuseki文件夹已被严格锁定,其实际路径为/ private / etc / 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

现在,我可以成功查看内容了。