【发布时间】:2013-01-21 10:57:40
【问题描述】:
我是 jena 新手,我遇到了这个错误:
Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
at com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl.<clinit>(RDFReaderFImpl.java:74)
at com.hp.hpl.jena.rdf.model.impl.ModelCom.<clinit>(ModelCom.java:54)
at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:142)
at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:136)
at com.hp.hpl.jena.vocabulary.OWL.<clinit>(OWL.java:37)
at com.hp.hpl.jena.ontology.ProfileRegistry.<clinit>(ProfileRegistry.java:47)
at com.hp.hpl.jena.ontology.OntModelSpec.<clinit>(OntModelSpec.java:53)
at myprogram.Connection.<init>(Connection.java:46)
跳转到这个异常的代码部分是这个(Connection.java:46):
m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null );
我定义的用户库包含:
commons-codec-1.5.jar
httpclient-4.1.2.jar
httpcore-4.1.3.jar
jcl-over-slf4j-1.6.4
jena-arq-2.9.4.jar
jena-core-2.7.4.jar
jena-iri-0.9.4.jar
jena-tdb-0.9.4.jar
log4j-1.2-16.jar
slf4j-api-1.7.2.jar
slf4j-log4j12-1.6.4.jar
xercesimpl-2.10.0.jar
xml-apis-1.4.01.jar
Java版本是jdk1.7.0_11
有人可以帮助我吗?
【问题讨论】:
-
你能不能试着捕捉那个异常并打印出 getCause() 或 getException() (我认为他们做同样的事情)?这将提供实际的错误。
-
我已经添加了这个,但错误仍然是一样的:控制台没有显示任何新内容,我做错了什么!?!
public OntoConnection(String path) { try { m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null); } catch (Exception e) { System.out.println("cause:"+e.getCause()+";"); System.out.println("message:"+e.getMessage()+";"); System.out.println("stacktrace:"+e.getStackTrace()+";"); } -
抱歉,我不是很明确。该异常只是底层问题的包装,getException / getCause 将返回。试试
System.out.printf("Underlying issue: %s\nMessage: %s\nStacktrace: %s\n", e.getCause(), e.getCause().getMessage(), e.getCause().getStackTrace()); -
什么都没有发生...但是这些代码运行良好,因为在另一台机器上...我认为库有问题...jdk、jena、o.s 的版本......