ok....i've done what you have suggested me, in particular i've followed
steps to create a fat jar ( now there is a folder "lib" with in all jars as
indicated in dependencies) , i've modify the syntax of select (" select * {
?s ?p ?o } ) and i've tested ARQ.init() PrefixMappingImpl() and
JenaException() (separately)...i've also created a simple class that use
Jena classes to test from eclipse the code and it runs so at this point
it's sure a problem of resolution jars....in particular i believe that the
particular jar which cause the problem is jena-2.6.4.jar

when i've tried ARQ.init() there were no change --> ClassNotFoundException
com.hp.hpl.shared.PrefixMapping
With new PrefixMappingImpl() the error become--> ClassNotFoundException
com.hp.hpl.shared.impl.PrefixMappingImpl
with JenaException() the error become --> ClassNotFoundException:
com.hp.hpl.jena.shared.JenaException




2014-07-30 17:04 GMT+02:00 Andy Seaborne <[email protected]>:

> On 30/07/14 12:33, Carmen Manzulli wrote:
>
>> YES after some tests the error is  java.lang.NoClassDefFoundError:
>> com/hp/hpl/jena/shared/PrefixMapping again.
>> i can't understand which kind of problem could be because the syntax in my
>> code seems to be corrected but as you could see there are errors in
>> QueryFactory's calls (in particular create) and when i worked with only
>> giraph i hadn't this problem with maven, dependencies,classpath etc...
>>
>> i want to thank you for your help...i'm glade ad i hope these informations
>> could be a way to undestand the root of my problem..
>>
>
> So this is not to do with the syntax of your query but a failure to
> resolve jars.
>
> The program is likely in Query.<init> doing class initialization, which is
> the first point that ARQ initializes internally, and taht incldues a call
> to ARQ.init and lots of thig happen, including setting some PrefixMappings
>
>
>
>
> Although "SELECT *" is bad syntax.
>
>
> Try these things (separately):
>
> 1/ Call "new JenaException()"
>    This does not cause internal initialzation but does touch jena-core
> code.
>
> 2/ Call "new PrefixMappingImpl()"
>
> 3/ Call ARQ.init();
>
> which causes various initialization steps to happen in a way that might be
> more helpful.
>
>         Andy
>
>
>  I run the follow command of hadoop:
>>
>> hduser@carmen-HP-Pavilion-Sleekbook-15:/usr/local/hadoop$ hadoop jar
>> /home/carmen/workspace/sisinflab/target/sisinflab-0.0.1-SNAPSHOT.jar
>> org.apache.giraph.GiraphRunner sisinflab.Query2 -vif
>> sisinflab.Vinputformat
>> -vip /user/hduser/labeldimezzato -w 1 -ca ARQ.query="SELECT *"
>>
>> hduser has /.m2/repository with  /com/hp/hpl/jena/ with all jars inside
>> which are the same of dependencies i've specified in my pom...
>>
>> if it could be useful i want to send you the complete error status in
>> output from hadoop :
>> java.lang.IllegalStateException: run: Caught an unrecoverable exception
>> waitFor: ExecutionException occurred while waiting for
>> org.apache.giraph.utils.ProgressableUtils$FutureWaitable@2143db07 at
>> org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:101) at
>> org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) at
>> org.apache.hadoop.mapred.MapTask.run(MapTask.java:364) at
>> org.apache.hadoop.mapred.Child$4.run(Child.java:255) at
>> java.security.AccessController.doPrivileged(Native Method) at
>> javax.security.auth.Subject.doAs(Subject.java:415) at
>> org.apache.hadoop.security.UserGroupInformation.doAs(
>> UserGroupInformation.java:1190)
>> at org.apache.hadoop.mapred.Child.main(Child.java:249) Caused by:
>> java.lang.IllegalStateException: waitFor: ExecutionException occurred
>> while
>> waiting for
>> org.apache.giraph.utils.ProgressableUtils$FutureWaitable@2143db07 at
>> org.apache.giraph.utils.ProgressableUtils.waitFor(
>> ProgressableUtils.java:193)
>> at
>> org.apache.giraph.utils.ProgressableUtils.waitForever(
>> ProgressableUtils.java:151)
>> at
>> org.apache.giraph.utils.ProgressableUtils.waitForever(
>> ProgressableUtils.java:136)
>> at
>> org.apache.giraph.utils.ProgressableUtils.getFutureResult(
>> ProgressableUtils.java:99)
>> at
>> org.apache.giraph.utils.ProgressableUtils.getResultsWithNCallables(
>> ProgressableUtils.java:233)
>> at
>> org.apache.giraph.graph.GraphTaskManager.processGraphPartitions(
>> GraphTaskManager.java:722)
>> at
>> org.apache.giraph.graph.GraphTaskManager.execute(
>> GraphTaskManager.java:300)
>> at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:91) ... 7
>> more
>> Caused by: java.util.concurrent.ExecutionException:
>> java.lang.NoClassDefFoundError: com/hp/hpl/jena/shared/PrefixMapping at
>> java.util.concurrent.FutureTask.report(FutureTask.java:122) at
>> java.util.concurrent.FutureTask.get(FutureTask.java:202) at
>> org.apache.giraph.utils.ProgressableUtils$FutureWaitable.waitFor(
>> ProgressableUtils.java:312)
>> at
>> org.apache.giraph.utils.ProgressableUtils.waitFor(
>> ProgressableUtils.java:185)
>> ... 14 more Caused by: java.lang.NoClassDefFoundError:
>> com/hp/hpl/jena/shared/PrefixMapping at
>> com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:78) at
>> com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:52) at
>> com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40) at
>> sisinflab.Query2.compute(Query2.java:27) at
>> org.apache.giraph.graph.ComputeCallable.computePartition(
>> ComputeCallable.java:247)
>> at org.apache.giraph.graph.ComputeCallable.call(ComputeCallable.java:168)
>> at org.apache.giraph.graph.ComputeCallable.call(ComputeCallable.java:71)
>> at
>> org.apache.giraph.utils.LogStacktraceCallable.call(
>> LogStacktraceCallable.java:51)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:262) at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(
>> ThreadPoolExecutor.java:1145)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(
>> ThreadPoolExecutor.java:615)
>> at java.lang.Thread.run(Thread.java:745) Caused by:
>> java.lang.ClassNotFoundException: com.hp.hpl.jena.shared.PrefixMapping at
>> java.net.URLClassLoader$1.run(URLClassLoader.java:366) at
>> java.net.URLClassLoader$1.run(URLClassLoader.java:355) at
>> java.security.AccessController.doPrivileged(Native Method) at
>> java.net.URLClassLoader.findClass(URLClassLoader.java:354) at
>> java.lang.ClassLoader.loadClass(ClassLoader.java:425) at
>> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at
>> java.lang.ClassLoader.loadClass(ClassLoader.java:358) ...
>>
>> YES after some tests the error is  java.lang.NoClassDefFoundError:
>> com/hp/hpl/jena/shared/PrefixMapping again.
>> i can't understand which kind of problem could be because the syntax in my
>> code seems to be corrected but as you could see there are errors in
>> QueryFactory's calls (in particular create) and when i worked with only
>> giraph i hadn't this problem with maven, dependencies,classpath etc...
>>
>> i want to thank you for your help...i'm glade ad i hope these informations
>> could be a way to undestand the root of my problem..
>>
>>
>>
>> 2014-07-30 10:38 GMT+02:00 Rob Vesse <[email protected]>:
>>
>>  Carmen
>>>
>>> I assume you are just building a normal Maven JAR?
>>>
>>> In which case the JAR produced will contain only your code and will not
>>> contain the dependencies of your code and you are expected to provide
>>> them
>>> to Hadoop's class path separately or you'll get these kinds of errors
>>> when
>>> trying to run your program
>>>
>>> What I usually do (and I've seen others do) is to use the maven assembly
>>> plugin to build a fat JAR with my code and all the necessary dependencies
>>> and then run this instead.
>>>
>>> For an example maven assembler plugin configuration see
>>> https://svn.apache.org/viewvc/jena/Experimental/hadoop-rdf/
>>> hadoop-rdf-stats
>>> /pom.xml?view=markup lines 82-100
>>>
>>> And the corresponding maven assembler file can be seen at
>>> https://svn.apache.org/viewvc/jena/Experimental/hadoop-rdf/
>>> hadoop-rdf-stats
>>> /hadoop-job.xml?view=markup
>>>
>>> Rob
>>>
>>> On 29/07/2014 20:53, "Andy Seaborne" <[email protected]> wrote:
>>>
>>>
>>>> On 29/07/14 15:01, Carmen Manzulli wrote:
>>>>
>>>>> Ok, sorry; i'm trying to use query and queryFactory classes of jena in
>>>>> my
>>>>> code in this way:
>>>>>
>>>>>
>>>>>               String que=getConf().get("ARQ.query"); //ARQ in a string
>>>>> parameter in input (the query, for example SELECT *)
>>>>>               System.out.println("request to process query : "+que);
>>>>>               Query query = QueryFactory.create(que);
>>>>>
>>>>> in the third line i got error....
>>>>>
>>>>
>>>> So is the error is different to your initial report and currently:
>>>>
>>>> java.lang.NoClassDefFoundError: org.apache.xerces.util.XMLChar
>>>>
>>>> what's the stacktrace for that one?
>>>>
>>>>
>>>> The maven output looks OK but
>>>>
>>>> 1/ Are that there endorsed jars around?
>>>> 2/ What the runtime classpath?
>>>>
>>>>        Andy
>>>>
>>>>
>>>>> i used maven to create my project and i wrote a pom with dependencies;
>>>>> this
>>>>> is the cut of my pom:
>>>>>
>>>>>       <dependencies>
>>>>>           <dependency>
>>>>>               <groupId>org.apache.hadoop</groupId>
>>>>>               <artifactId>hadoop-core</artifactId>
>>>>>               <version>1.2.1</version>
>>>>>           </dependency>
>>>>>               <dependency>
>>>>>               <groupId>org.apache.giraph</groupId>
>>>>>               <artifactId>giraph-core</artifactId>
>>>>>               <version>1.1.0</version>
>>>>>           </dependency>
>>>>>           <dependency>
>>>>>               <groupId>org.apache.jena</groupId>
>>>>>               <artifactId>jena-arq</artifactId>
>>>>>           <version>2.12.0-SNAPSHOT</version>
>>>>>           </dependency>
>>>>>       </dependencies>
>>>>>
>>>>>
>>>>> this is the dependency tree:
>>>>>
>>>>> [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ sisinflab
>>>>> ---
>>>>> [INFO] sisinflab:sisinflab:jar:1.0-SNAPSHOT
>>>>> [INFO] +- org.apache.hadoop:hadoop-core:jar:1.2.1:compile
>>>>> [INFO] |  +- commons-cli:commons-cli:jar:1.2:compile
>>>>> [INFO] |  +- xmlenc:xmlenc:jar:0.52:compile
>>>>> [INFO] |  +- com.sun.jersey:jersey-core:jar:1.8:compile
>>>>> [INFO] |  +- com.sun.jersey:jersey-json:jar:1.8:compile
>>>>> [INFO] |  |  +- org.codehaus.jettison:jettison:jar:1.1:compile
>>>>> [INFO] |  |  |  \- stax:stax-api:jar:1.0.1:compile
>>>>> [INFO] |  |  +- com.sun.xml.bind:jaxb-impl:jar:2.2.3-1:compile
>>>>> [INFO] |  |  |  \- javax.xml.bind:jaxb-api:jar:2.2.2:compile
>>>>> [INFO] |  |  |     +- javax.xml.stream:stax-api:jar:1.0-2:compile
>>>>> [INFO] |  |  |     \- javax.activation:activation:jar:1.1:compile
>>>>> [INFO] |  |  +- org.codehaus.jackson:jackson-
>>>>> core-asl:jar:1.7.1:compile
>>>>> [INFO] |  |  +- org.codehaus.jackson:jackson-jaxrs:jar:1.7.1:compile
>>>>> [INFO] |  |  \- org.codehaus.jackson:jackson-xc:jar:1.7.1:compile
>>>>> [INFO] |  +- com.sun.jersey:jersey-server:jar:1.8:compile
>>>>> [INFO] |  |  \- asm:asm:jar:3.1:compile
>>>>> [INFO] |  +- commons-io:commons-io:jar:2.1:compile
>>>>> [INFO] |  +- commons-httpclient:commons-httpclient:jar:3.0.1:compile
>>>>> [INFO] |  |  +- junit:junit:jar:3.8.1:compile
>>>>> [INFO] |  |  \- commons-logging:commons-logging:jar:1.0.3:compile
>>>>> [INFO] |  +- commons-codec:commons-codec:jar:1.4:compile
>>>>> [INFO] |  +- org.apache.commons:commons-math:jar:2.1:compile
>>>>> [INFO] |  +- commons-configuration:commons-
>>>>> configuration:jar:1.6:compile
>>>>> [INFO] |  |  +-
>>>>> commons-collections:commons-collections:jar:3.2.1:compile
>>>>> [INFO] |  |  +- commons-lang:commons-lang:jar:2.4:compile
>>>>> [INFO] |  |  +- commons-digester:commons-digester:jar:1.8:compile
>>>>> [INFO] |  |  |  \- commons-beanutils:commons-
>>>>> beanutils:jar:1.7.0:compile
>>>>> [INFO] |  |  \-
>>>>> commons-beanutils:commons-beanutils-core:jar:1.8.0:compile
>>>>> [INFO] |  +- commons-net:commons-net:jar:1.4.1:compile
>>>>> [INFO] |  +- org.mortbay.jetty:jetty:jar:6.1.26:compile
>>>>> [INFO] |  |  \- org.mortbay.jetty:servlet-api:jar:2.5-20081211:compile
>>>>> [INFO] |  +- org.mortbay.jetty:jetty-util:jar:6.1.26:compile
>>>>> [INFO] |  +- tomcat:jasper-runtime:jar:5.5.12:compile
>>>>> [INFO] |  +- tomcat:jasper-compiler:jar:5.5.12:compile
>>>>> [INFO] |  +- org.mortbay.jetty:jsp-api-2.1:jar:6.1.14:compile
>>>>> [INFO] |  |  \- org.mortbay.jetty:servlet-api-2.5:jar:6.1.14:compile
>>>>> [INFO] |  +- org.mortbay.jetty:jsp-2.1:jar:6.1.14:compile
>>>>> [INFO] |  |  \- ant:ant:jar:1.6.5:compile
>>>>> [INFO] |  +- commons-el:commons-el:jar:1.0:compile
>>>>> [INFO] |  +- net.java.dev.jets3t:jets3t:jar:0.6.1:compile
>>>>> [INFO] |  +- hsqldb:hsqldb:jar:1.8.0.10:compile
>>>>> [INFO] |  +- oro:oro:jar:2.0.8:compile
>>>>> [INFO] |  +- org.eclipse.jdt:core:jar:3.1.1:compile
>>>>> [INFO] |  \- org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8:compile
>>>>> [INFO] +- org.apache.giraph:giraph-core:jar:1.1.0:compile
>>>>> [INFO] \- org.apache.jena:jena-arq:jar:2.12.0-SNAPSHOT:compile
>>>>> [INFO]    +- org.apache.jena:jena-core:jar:2.12.0-SNAPSHOT:compile
>>>>> [INFO]    |  +- org.apache.jena:jena-iri:jar:1.1.0-SNAPSHOT:compile
>>>>> [INFO]    |  \- xerces:xercesImpl:jar:2.11.0:compile
>>>>> [INFO]    |     \- xml-apis:xml-apis:jar:1.4.01:compile
>>>>> [INFO]    +- org.apache.httpcomponents:httpclient:jar:4.2.6:compile
>>>>> [INFO]    |  \- org.apache.httpcomponents:httpcore:jar:4.2.5:compile
>>>>> [INFO]    +- com.github.jsonld-java:jsonld-java:jar:0.5.0:compile
>>>>> [INFO]    |  +-
>>>>> com.fasterxml.jackson.core:jackson-core:jar:2.3.3:compile
>>>>> [INFO]    |  \-
>>>>> com.fasterxml.jackson.core:jackson-databind:jar:2.3.3:compile
>>>>> [INFO]    |     \-
>>>>> com.fasterxml.jackson.core:jackson-annotations:jar:2.3.0:compile
>>>>> [INFO]    +-
>>>>> org.apache.httpcomponents:httpclient-cache:jar:4.2.6:compile
>>>>> [INFO]    +- org.slf4j:jcl-over-slf4j:jar:1.7.6:compile
>>>>> [INFO]    +- org.slf4j:slf4j-api:jar:1.7.6:compile
>>>>> [INFO]    +- org.slf4j:slf4j-log4j12:jar:1.7.6:compile
>>>>> [INFO]    \- log4j:log4j:jar:1.2.17:compile
>>>>>
>>>>> after i created jar and executed this one using hadoop
>>>>>
>>>>> in a first time the problem was NoClassDefFound com.hp.hpl.jena.query
>>>>> now the output is NoClassDefFound org.apache.xerces.util.XMLChar
>>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2014-07-29 13:43 GMT+02:00 Rob Vesse <[email protected]>:
>>>>>
>>>>>  Carmen
>>>>>>
>>>>>> It would be helpful if you showed us what you are doing, otherwise we
>>>>>> can
>>>>>> only guess and offer vague suggestions.
>>>>>>
>>>>>> Assuming you are using Maven as previously stated please provide the
>>>>>> <dependencies> section of your POM
>>>>>>
>>>>>> It is also worth running mvn dependency:tree and checking that you
>>>>>> don't
>>>>>> have multiple entries for Jena libraries present.  Including the
>>>>>> output of
>>>>>> this would also help us debug your problem
>>>>>>
>>>>>> Rob
>>>>>>
>>>>>> On 29/07/2014 12:08, "Carmen Manzulli" <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>  i've proved with jena-arq and jena-core 2.12.0 but these don't fix my
>>>>>>> problem...the output is the same:
>>>>>>>
>>>>>>> NoClassDefFoundError: com/hp/hpl/jena/shared/PrefixMapping
>>>>>>>
>>>>>>>
>>>>>>> can you suggest me a right way to insert jena as dependency keeping
>>>>>>> in
>>>>>>> mind
>>>>>>> that i need only Query and QueryFactory classes?
>>>>>>>
>>>>>>>
>>>>>>> 2014-07-28 18:21 GMT+02:00 Andy Seaborne <[email protected]>:
>>>>>>>
>>>>>>>  On 28/07/14 16:36, Carmen Manzulli wrote:
>>>>>>>>
>>>>>>>>  ok....i'm using giraph 1.1.0, hadoop 1.2.1  jena arq 2.12.0 and
>>>>>>>>> com.hp.hpl.jena 2.8.8; I've introduced the last one because there
>>>>>>>>> were
>>>>>>>>> class not found exceptions for query and queryfactory....i make use
>>>>>>>>> of
>>>>>>>>> these two classes to implement a simple select  and just for the
>>>>>>>>> moment
>>>>>>>>> i'm
>>>>>>>>> using select* as query string to test the code!
>>>>>>>>>
>>>>>>>>>
>>>>>>>> jena arq 2.12.0 and jena-core 2.8.8 don't mix.
>>>>>>>>
>>>>>>>> Use a consistent cut of jena.
>>>>>>>>
>>>>>>>>           Andy
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> 2014-07-28 16:43 GMT+02:00 Andy Seaborne <[email protected]>:
>>>>>>>>>
>>>>>>>>>    On 28/07/14 15:00, Carmen Manzulli wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>    Hi experts,
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> i'm trying to use some jena classes (as Query and QueryFactory)
>>>>>>>>>>> in a
>>>>>>>>>>> project  but when i run my code i get:
>>>>>>>>>>>
>>>>>>>>>>>      java.lang.NoClassDefFoundError:
>>>>>>>>>>> com/hp/hpl/jena/shared/PrefixMapping$IllegalPrefixException
>>>>>>>>>>>            at com.hp.hpl.jena.query.QueryFactory.create(
>>>>>>>>>>> QueryFactory.java:68)
>>>>>>>>>>>            at com.hp.hpl.jena.query.QueryFactory.create(
>>>>>>>>>>> QueryFactory.java:40)
>>>>>>>>>>>            at com.hp.hpl.jena.query.QueryFactory.create(
>>>>>>>>>>> QueryFactory.java:28)
>>>>>>>>>>>            at sisinflab.Query2.compute(Query2.java:27)
>>>>>>>>>>>
>>>>>>>>>>> and also :
>>>>>>>>>>>
>>>>>>>>>>> java.lang.ClassNotFoundException:
>>>>>>>>>>> com.hp.hpl.jena.shared.PrefixMapping$IllegalPrefixException
>>>>>>>>>>>            at
>>>>>>>>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>>>>>>>>>            at
>>>>>>>>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>>>>>>>>>            at java.security.AccessController.doPrivileged(Native
>>>>>>>>>>> Method)
>>>>>>>>>>>            at
>>>>>>>>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>>>>>>>>>            at java.lang.ClassLoader.loadClass(ClassLoader.java:
>>>>>>>>>>> 425)
>>>>>>>>>>>            at sun.misc.Launcher$AppClassLoader.loadClass(
>>>>>>>>>>> Launcher.java:308)
>>>>>>>>>>>            at java.lang.ClassLoader.loadClass(ClassLoader.java:
>>>>>>>>>>> 358)
>>>>>>>>>>>            ... 12 more
>>>>>>>>>>>
>>>>>>>>>>> who can help me?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  "NoClassDefFoundError" means it was there are compile time (of
>>>>>>>>>> Jena)
>>>>>>>>>> and
>>>>>>>>>> not at runtime (of your code).
>>>>>>>>>>
>>>>>>>>>> You have an incomplete or incompatible set of jars files.
>>>>>>>>>>
>>>>>>>>>>            Andy
>>>>>>>>>>
>>>>>>>>>> PS Please could you include things like version numbers (needed
>>>>>>>>>> for
>>>>>>>>>> line
>>>>>>>>>> numbers to mean anything), the query in question, etc when
>>>>>>>>>> describing
>>>>>>>>>> something.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>
>

Reply via email to