Jena配置踩坑记录(记录贴,未完全解决)
参考内容:
1、Jena的安装配置及使用(Eclipse平台)
2、jena安装与使用
3、使用Jena半自动构建本体(一)——Jena安装与配置
开始之前先说一下我的目的,毕业题目是气象灾害本体设计方面的我是想在Eclipse导入jena,进行本体SPARQL查询推理,如果有类似方向的小伙伴,可以交流下
1、系统环境配置
JDK、Jena配置:(我的JDK安装路径为D:\JDK\JDKIinstall,Jena路径为D:\Jena\apache-jena-3.16.0)
然后在命令行中测试是否配置完成。 我是按照参考的博客里进行的,但是输入sparql后,出现
ERROR StatusLogger Unable to access file:/C:/Users/sun/file:D:/Jena/apache-jena-3.16.0/log4j2.properties
java.io.FileNotFoundException: C:\Users\sun\file:D:\Jena\apache-jena-3.16.0\log4j2.properties (文件名、目录名或卷标语法不正确。)
但是最后也返回了No query string or query file
Eclipse
整体步骤按照参考链接里进行,but:
1、右击新建工程在“Java Build Path”中选择“Libraries”时,要先导入lib-src中的jar文件,再导入lib中的jar文件(以身试法,颠倒顺序的话,在执行jena.examples.rdf里面的Tutorial03.java文件会报错如下图:这一步有问题!!!!请往下看3
2、将jena路径下的log4j.properties复制到到项目jenaTest的bin目录下
3、我看的教程里都是把lib和lib-src下的jar包都导进去了,刚发现,有重复所以出现了error:
Error occurred during initialization of boot layer
java.lang.module.FindException: Unable to derive module descriptor for D:\Jena\apache-jena-3.16.0\lib-src\jena-arq-3.16.0-sources.jar
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.jena.riot.system.InitRIOT not in module
把重复的remove以后(我是把lib-src中的移除)这个问题就解决了,但是出现了另一个问题:(
在网上查了以后,说是要检查 slf4j-api、slf4j-log4j12、log4j ,但我的都在。
又查到缺少commons-logging.jar ,但是加进去以后,报错
Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules org.apache.commons.logging and commons.logging export package org.apache.commons.logging.impl to module org.apache.jena.dboe.storage
还是不对,现在依然卡在一堆爆红那里。
像我这种辣鸡,只能靠博客救命。
——————————破案了
原来lib里的jar是要放到classpath……
脚趾头想想也该是配置类路径的啊……
我是辣鸡:(
待解决:
1、命令行运行sparql报错
ERROR StatusLogger Unable to access file:/C:/Users/sun/file:D:/Jena/apache-jena-3.16.0/log4j2.properties
java.io.FileNotFoundException: C:\Users\sun\file:D:\Jena\apache-jena-3.16.0\log4j2.properties (文件名、目录名或卷标语法不正确。)