jimakos234 Δημοσ. 12 Μαΐου 2016 Δημοσ. 12 Μαΐου 2016 Kαλησπέρα, έχω υλοποιήσει ένα Project se Netbeans Με την χρήση του maven, και της βιβλιοθήκης Jena εχω πειραξει το pom.xml για να παράξει το Maven το .jar file με το αντίστοιχο Plugin. Όταν το τρέξω μεσω του κώδικα, στο netbeans(build and run) τρέχει κανονικά, αλλά όταν το τρέχω με java -jar test.jar τότε μου λέει NoClassDefFoundError: org/apache/jena/rdf/model/RDFNode Αν και εχω την Jena στα depedencies. Πως μπορω να το αντιμετωπίσω αυτο? Υπαρχει κάποια λύση?
Luciddream Δημοσ. 13 Μαΐου 2016 Δημοσ. 13 Μαΐου 2016 Αν και μπορεί να πέφτω τελείως έξω, μήπως απλά θέλει να παράξεις το jar με το shade plugin? Γενικά τα errors είναι τόσο γενικά που μπορεί να σημαίνει οτιδήποτε... ή μπορεί να είναι και κάτι απλό που να μην θυμάμαι τώρα. 1
jimakos234 Δημοσ. 13 Μαΐου 2016 Μέλος Δημοσ. 13 Μαΐου 2016 Αν και μπορεί να πέφτω τελείως έξω, μήπως απλά θέλει να παράξεις το jar με το shade plugin? Γενικά τα errors είναι τόσο γενικά που μπορεί να σημαίνει οτιδήποτε... ή μπορεί να είναι και κάτι απλό που να μην θυμάμαι τώρα. Δεν ξέρω,τα errors ήταν συγκεκριμένα μονο ότι είχε να κάνει με jena, και απο αυτα που είδα λιγο καλύτερα, έπρεπε να βάλω καποια runtime dependencies. Mετα από αρκετο ψάξιμο, έβαλα custom build rules sto pom.xml και πλεον κάνει unpack τα depedencies στον φάκελο του build, και τα κάνω Include με path prefix. Δουλεύει όπως θα επιθυμουσα. Παραθέτω και τον κώδικα για το Pom.xml αν το χρειαστεί κανεις για τίποτα παρόμοιο <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>unpack-dependencies</id> <phase>package</phase> <goals> <goal>unpack-dependencies</goal> </goals> <configuration> <excludeScope>system</excludeScope> <outputDirectory>${project.build.directory}/classes</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.5</version> <configuration> <useDefaultManifestFile>true</useDefaultManifestFile> <archive> <manifest> <mainClass>com.mycompany.ergasia.main</mainClass> <packageName>${packageName}</packageName> <addClasspath>true</addClasspath> <classpathPrefix>classes/</classpathPrefix> </manifest> <manifestEntries> <mode>development</mode> <url>${pom.url}</url> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build>
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα