【问题标题】:error java.lang.ExceptionInInitializerError in ARQoid SPARQL QueryARQoid SPARQL 查询中的错误 java.lang.ExceptionInInitializerError
【发布时间】:2016-04-14 04:21:38
【问题描述】:

请帮帮我... 我在 Android Studio 中使用 ARQoid,我从 ARQoid 项目中导入了所有 jar。

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

    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);

这一行“查询查询 = 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

【问题讨论】:

    标签: java android sparql


    【解决方案1】:

    您的日志记录设置似乎失败了:

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

    您需要放入一个 slf4j 提供程序(默认的“打印到 system.err”可能就足够了 - Jena 默认不打印任何内容)。

    【讨论】:

      【解决方案2】:

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

      异常信息

      Caused by: java.lang.RuntimeException: Stub!
      

      来自 Android 平台 JAR stub 的版本,适合编译,但不能在运行时使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多