Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

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.

 

Πως μπορω να το αντιμετωπίσω αυτο? Υπαρχει κάποια λύση?

Δημοσ.

Αν και μπορεί να πέφτω τελείως έξω, μήπως απλά θέλει να παράξεις το jar με το shade plugin? Γενικά τα errors είναι τόσο γενικά που μπορεί να σημαίνει οτιδήποτε... ή μπορεί να είναι και κάτι απλό που να μην θυμάμαι τώρα.

  • Like 1
Δημοσ.

Αν και μπορεί να πέφτω τελείως έξω, μήπως απλά θέλει να παράξεις το 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>

 

 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...