2015-04-07 3 views
-2

у меня есть эта ошибка при выполнении моего андроида приложения:проблем NoClassDefFoundError

FATAL EXCEPTION: AsyncTask #1 
java.lang.RuntimeException: An error occured while executing doInBackground() 

at android.os.AsyncTask$3.done(AsyncTask.java:299) 
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
at java.lang.Thread.run(Thread.java:856) 
    Caused by: java.lang.NoClassDefFoundError: com.hp.hpl.jena.query.Syntax 
at com.example.testtvprg.QueryDBpedia.doInBackground(QueryDBpedia.java:56) 
at com.example.testtvprg.QueryDBpedia.doInBackground(QueryDBpedia.java:1) 
at android.os.AsyncTask$2.call(AsyncTask.java:287) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 

это мой класс AsyncTask: я пытаюсь подключиться к DBpedia и отправить запрос с Jena Апи, а затем я называю этот класс на My MainActivity класс:

import java.util.ArrayList; 
import android.os.AsyncTask; 
import android.util.Log; 
import com.hp.hpl.jena.query.Query; 
import com.hp.hpl.jena.query.QueryExecution; 
import com.hp.hpl.jena.query.QueryExecutionFactory; 
import com.hp.hpl.jena.query.QueryFactory; 
import com.hp.hpl.jena.query.ResultSet; 
import com.hp.hpl.jena.query.ResultSetFactory; 
import com.hp.hpl.jena.query.ResultSetFormatter; 
import com.hp.hpl.jena.query.Syntax; 
import com.hp.hpl.jena.rdf.model.RDFNode; 


public class QueryDBpedia extends AsyncTask <String, Void, Void>{ArrayList<String> list= new ArrayList<String>(); 
@Override 
protected Void doInBackground(String... keyword) { 
    try{ 
      String sparqlQuery="PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + 
     "SELECT DISTINCT ?film_URI \n" + 
     "WHERE {\n" + 
     "?film_URI rdf:type <http://dbpedia.org/ontology/Film> . \n" + 
     "} Limit 10" ; 
    String service= "http://dbpedia.org/sparql"; 
    Query qur=QueryFactory.create(sparqlQuery,Syntax.syntaxARQ); 
    QueryExecution exec = QueryExecutionFactory.sparqlService(service,qur); 
    ResultSet results = ResultSetFactory.copyResults(exec.execSelect()); 

    while (results.hasNext()) { 
     RDFNode s= results.next().get("resource"); 
     list.add(s.toString()); 
       } 

    } catch (Exception e) { 
     Log.e("Jena", "Error parsing data " + e.toString()); 
    } 
    return null; 
} } 

и ниже функции, где я называю класс AsyncTask:

public void ExplorButton(View v) throws InterruptedException, ExecutionException, IOException 
    { 
     QueryDBpedia qdb= new QueryDBpedia(); 
     qdb.execute(""); 

    } 

Я не понимаю, где проблема. Пожалуйста, помогите мне.

+4

Где ваш код? вставьте свой код –

+0

в свою библиотеку класс «com.hp.hpl.jena.query.Syntax» is mising ... –

+0

Пожалуйста, кто может мне помочь !!! – Adem

ответ

0

com.hp.hpl.jena.query.Syntax отсутствует в вашем пакете, попробуйте опубликовать код, не так ли.

+0

, asad.qazi библиотека не хватает, она существует в моем пакете. Я редактирую вопрос, и я ставил свой код – Adem

+0

Ну, он может быть там во время * компиляции *, но его наверняка нельзя найти во время выполнения, иначе вы не получите ошибку * Причиненный: java.lang.NoClassDefFoundError: ** com.hp.hpl.jena.query.Syntax *** –

+0

Итак, как я могу решить эту проблему? – Adem

Смежные вопросы