2016-04-14 47 views
1

请帮我... 我在Android Studio中使用ARQoid,我从ARQoid项目导入了所有的jar。错误在ARQoid SPARQL中的java.lang.ExceptionInInitializerError查询

代码如下。 sparql查询没有问题,我测试了端点。

String sparqlEndpoint = "http://XXX/sparql"; 
    String sparqlQuery = "PREFIX bf: <http://bibframe.org/vocab/> " 
      + "SELECT * " 
      + "WHERE {?s ?p ?o. " 
      + "?s bf:label ?u. " 
      + "filter (lang(?u) = \"chs\" && regex(?u,\"^k\")).}"; 
    // create the Jena query using the ARQ syntax (has additional support for SPARQL federated queries) 
    Query query = QueryFactory.create(sparqlQuery, Syntax.syntaxARQ); 

这一行“Query query = QueryFactory.create(sparqlQuery,Syntax.syntaxARQ);”在这里我得到一个错误

完整的错误在这里:

Exception in thread "main" java.lang.ExceptionInInitializerError 
at com.hp.hpl.jena.rdf.model.ResourceFactory$Impl.createProperty(ResourceFactory.java:245) 
at com.hp.hpl.jena.rdf.model.ResourceFactory.createProperty(ResourceFactory.java:121) 
at com.hp.hpl.jena.vocabulary.RDF.property(RDF.java:32) 
at com.hp.hpl.jena.vocabulary.RDF.<clinit>(RDF.java:45) 
at com.hp.hpl.jena.sparql.ARQConstants.<clinit>(ARQConstants.java:31) 
at com.hp.hpl.jena.query.ARQ.<clinit>(ARQ.java:40) 
at com.hp.hpl.jena.query.Query.<clinit>(Query.java:54) 
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:71) 
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:43) 
at shldata.getNames(shldata.java:29) 
at shldata.main(shldata.java:55) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 
Caused by: java.lang.RuntimeException: Stub! 
    at android.util.Log.i(Log.java:9) 
    at org.slf4j.impl.AndroidLoggerFactory.getLogger(AndroidLoggerFactory.java:69) 
    at org.slf4j.impl.AndroidLoggerFactory.getLogger(AndroidLoggerFactory.java:44) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:254) 
    at com.hp.hpl.jena.rdf.model.impl.PropertyImpl.<clinit>(PropertyImpl.java:64) 
    ... 16 more 

回答

0

它看起来像你的日志设置失败:

Caused by: java.lang.RuntimeException: Stub! 
    at android.util.Log.i(Log.java:9) 
    at org.slf4j.impl.AndroidLoggerFactory.getLogger(AndroidLoggerFactory.java:69) 

你需要放在一个SLF4J提供商(默认的“print to system.err”可能足够用 - Jena默认不会打印任何东西)。

0

您需要在Android设备或模拟器上将您的应用作为Android应用运行。如果它具有任何Android依赖项,则无法将其作为常规Java应用程序运行。

异常消息

Caused by: java.lang.RuntimeException: Stub! 

来自Android平台JAR存根是好的与编译,但不能在运行时使用的版本。