Ich habe eine Java-Anwendung, die einige Abhängigkeiten hat, darunter ein anderes Projekt mit eigenen Abhängigkeiten. Jedes Mal, wenn ich laufe es von Netbeans oder mit mvn exec ist in Ordnung, aber wenn ich versuche, es zu verpacken, obwohl es erfolgreich integriert ist, zur Laufzeit bekomme ich folgende Fehlermeldung:Abhängigkeiten der Abhängigkeit sind nicht enthalten
Exception in thread "main" org.openrdf.rio.UnsupportedRDFormatException: No parser factory available for RDF format Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl)
at org.openrdf.rio.Rio.createParser(Rio.java:198)
at org.openrdf.rio.Rio.createParser(Rio.java:213)
at org.openrdf.repository.util.RDFLoader.loadInputStreamOrReader(RDFLoader.java:318)
at org.openrdf.repository.util.RDFLoader.load(RDFLoader.java:222)
at org.openrdf.repository.util.RDFLoader.load(RDFLoader.java:104)
at org.openrdf.repository.base.RepositoryConnectionBase.add(RepositoryConnectionBase.java:217)
at net.antidot.semantic.rdf.model.impl.sesame.SesameDataSet.loadDataFromFile(SesameDataSet.java:160)
so das Problem ist, dass der Sesam rio Parser scheinen nicht enthalten zu sein, obwohl ich sie in meinem Maven-Repository sehen kann. Ich schließe alle Abhängigkeiten in das enthaltene Projekt ein. Ich habe auch versucht, sie auszuschließen und explizit zu meinem Hauptprojekt hinzufügen und es ist erneut fehlgeschlagen.
Irgendwelche Vorschläge?
meine Abhängigkeiten Baum:
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ RMLMapper ---
[INFO] be.ugent.mmlab:RMLMapper:jar:0.1
[INFO] +- junit:junit:jar:4.11:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- xom:xom:jar:1.2.5:compile
[INFO] | +- xml-apis:xml-apis:jar:1.3.03:compile
[INFO] | +- xerces:xercesImpl:jar:2.8.0:compile
[INFO] | \- xalan:xalan:jar:2.7.0:compile
[INFO] +- jlibs:jlibs-xmldog:jar:1.0:compile
[INFO] | +- jlibs:jlibs-xml:jar:1.0:compile
[INFO] | | +- jlibs:jlibs-core:jar:1.0:compile
[INFO] | | \- jlibs:jlibs-nbp:jar:1.0:compile
[INFO] | \- jaxen:jaxen:jar:1.1.1:compile
[INFO] +- com.jayway.jsonpath:json-path:jar:0.8.1:compile
[INFO] | +- net.minidev:json-smart:jar:1.1.1:compile
[INFO] | \- commons-lang:commons-lang:jar:2.6:compile
[INFO] +- com.jayway.jsonpath:json-path-assert:jar:0.9.1:test
[INFO] | \- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] +- net.antidot:db2triples:jar:1.0.2:compile
[INFO] | +- commons-logging:commons-logging:jar:1.1.2:compile
[INFO] | +- mysql:mysql-connector-java:jar:5.1.25:compile
[INFO] | +- postgresql:postgresql:jar:9.1-901.jdbc4:compile
[INFO] | \- org.slf4j:slf4j-simple:jar:1.6.1:runtime
[INFO] +- org.openrdf.sesame:sesame-runtime:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-model:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-repository-api:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-repository-manager:jar:2.7.12:compile
[INFO] | | +- org.openrdf.sesame:sesame-repository-event:jar:2.7.12:compile
[INFO] | | +- org.openrdf.sesame:sesame-sail-memory:jar:2.7.12:compile
[INFO] | | +- org.openrdf.sesame:sesame-http-client:jar:2.7.12:compile
[INFO] | | | \- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] | | \- org.openrdf.sesame:sesame-http-protocol:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-repository-http:jar:2.7.12:compile
[INFO] | | +- org.openrdf.sesame:sesame-queryparser-api:jar:2.7.12:compile
[INFO] | | \- org.openrdf.sesame:sesame-queryresultio-api:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-repository-sparql:jar:2.7.12:compile
[INFO] | | +- org.openrdf.sesame:sesame-queryparser-sparql:jar:2.7.12:compile
[INFO] | | \- org.openrdf.sesame:sesame-queryresultio-sparqlxml:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-repository-contextaware:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-repository-sail:jar:2.7.12:compile
[INFO] | | \- org.openrdf.sesame:sesame-rio-trig:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-sail-api:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-sail-federation:jar:2.7.12:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.6.1:compile
[INFO] | +- org.openrdf.sesame:sesame-queryparser-serql:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-queryresultio-binary:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-queryresultio-sparqljson:jar:2.7.12:runtime
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.2.1:runtime
[INFO] | +- org.openrdf.sesame:sesame-queryresultio-text:jar:2.7.12:runtime
[INFO] | | \- net.sf.opencsv:opencsv:jar:2.0:runtime
[INFO] | +- org.openrdf.sesame:sesame-repository-dataset:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-rio-binary:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-rio-nquads:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-rio-n3:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-rio-rdfjson:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-rio-rdfxml:jar:2.7.12:runtime
[INFO] | +- org.openrdf.sesame:sesame-rio-trix:jar:2.7.12:runtime
[INFO] | \- org.openrdf.sesame:sesame-sail-rdbms:jar:2.7.12:runtime
[INFO] | \- commons-dbcp:commons-dbcp:jar:1.3:runtime
[INFO] | \- commons-pool:commons-pool:jar:1.5.4:runtime
[INFO] +- org.openrdf.sesame:sesame-sail-nativerdf:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-sail-inferencer:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-queryalgebra-evaluation:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-queryalgebra-model:jar:2.7.12:compile
[INFO] | +- org.openrdf.sesame:sesame-query:jar:2.7.12:compile
[INFO] | \- org.openrdf.sesame:sesame-util:jar:2.7.12:compile
[INFO] +- com.sun.org.apache:jaxp-ri:jar:1.4:compile
[INFO] | \- javax.xml.parsers:jaxp-api:jar:1.4:compile
[INFO] +- net.sourceforge.javacsv:javacsv:jar:2.0:compile
[INFO] +- commons-io:commons-io:jar:1.3.2:compile
[INFO] +- net.sf.saxon:Saxon-HE:jar:compressed:9.5.1-4:compile
[INFO] +- org.jodd:jodd-lagarto:jar:3.5:compile
[INFO] | +- org.jodd:jodd-log:jar:3.5:compile
[INFO] | \- org.jodd:jodd-core:jar:3.5:compile
[INFO] +- org.jsoup:jsoup:jar:1.7.3:compile
[INFO] +- org.apache.httpcomponents:httpclient:jar:4.2.2:compile
[INFO] | +- org.apache.httpcomponents:httpcore:jar:4.2.2:compile
[INFO] | \- commons-codec:commons-codec:jar:1.6:compile
[INFO] +- com.github.fge:uri-template:jar:0.9:compile
[INFO] | +- com.github.fge:msg-simple:jar:1.1:compile
[INFO] | | \- com.github.fge:btf:jar:1.2:compile
[INFO] | +- com.google.guava:guava:jar:16.0.1:compile
[INFO] | \- com.google.code.findbugs:jsr305:jar:2.0.1:compile
[INFO] +- org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile
[INFO] +- org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:compile
[INFO] +- org.openrdf.sesame:sesame-rio-turtle:jar:2.7.12:compile
[INFO] +- org.openrdf.sesame:sesame-rio-ntriples:jar:2.7.12:compile
[INFO] +- org.openrdf.sesame:sesame-rio-n3:pom:2.7.12:compile
[INFO] +- org.openrdf.sesame:sesame-rio:pom:2.7.12:compile
[INFO] \- commons-cli:commons-cli:jar:1.2:compile
vielleicht, dass Fabrik fehlt eine optionale Abhängigkeit ist und in einer der Abhängigkeiten gefunden Umfang Laufzeit haben: org.openrdf.sesame: Sesam-queryparser-serql: jar: 2.7.12: Laufzeit - in der Regel IDE unterscheiden Sie nicht so sehr, welche Gläser dem Klassenpfad hinzugefügt werden sollen - sie fügen einfach alle hinzu, um sicher zu sein. In welchem Glas ist diese Fabrik? Und ist das Glas in der Bereitstellung? – wemu
Wie verpacken Sie? Lassen Sie die Originalgläser intakt? Grund dafür ist, dass Sesame für seine Parser SPI und ServiceLoaders verwendet, die bestimmte Metadaten im Jar benötigen. –
Ich benutze das Maven-Assembly-Plugin mit JAR-mit-Abhängigkeiten, wenn das Ihre Frage Wemu beantwortet. Ich mache nichts besonderes, um die Gläser zu wechseln. Ich füge nur die Plugins in meine Pom-Datei ein. Ich sehe folgendes in meiner JAR-Datei, also nehme ich an, dass die Abhängigkeit (gut) enthalten ist: org/openrdf/rio/turtle/ org/openrdf/rio/turtle/TurtleParser.Klasse org/openrdf/rio/Schildkröte/TurtleParserFactory.class .... INF/maven/org.openrdf.same/sesam-rio-turtle/ INF/maven/org.openrdf.same/sesame-rio- turtle/pom.xml INF/maven/org.openrdf.same/sesame-rio-turtle/pom.properties – user3732870