2017-07-16 2 views
0

im encore nouveau dans Java Java et dépendances. puis-je demander? Je crée un projet sur le générateur de code QR avec Java Maven. Lorsque j'exécute mon projet dans Netbeans, j'utilise qrgen-1.2.jar, core-2.0.jar et javase-2.0.jar. IL PEUT GÉNÉRER TOUT CODE QR QUE JE VEUX.Java Maven Nettoyer et construire avec des dépendances

https://i.stack.imgur.com/U4YCW.png

Mais lorsque je tente de construire et propre, il ne peut pas générer mon code QR dans mon document/NetbeansProjects/QRcode/target/QRcode-1.0-SNAPSHOT.JR

Voici mon pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.mycompany</groupId> 
<artifactId>QRcode</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>jar</packaging> 
<build> 
    <plugins> 
     <plugin>      
     <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 


      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <mainClass>com.mycompany.qrcode.QRcode</mainClass> 
        </manifest> 
       </archive> 
      </configuration>  
     </plugin> 
    </plugins> 
</build> 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <maven.compiler.source>1.8</maven.compiler.source> 
    <maven.compiler.target>1.8</maven.compiler.target> 

</properties> 

<dependencies> 
     <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
     </dependency> 

     <dependency> 
     <groupId>net.glxn</groupId> 
     <artifactId>qrgen</artifactId> 
     <version>1.2</version> 
     </dependency>      

</dependencies> 

Répondre

1

sur la base de votre POM, vous n'êtes pas emballage de vos dépendances dans le pot exécutable généré. Cela provoque l'échec de votre programme lorsque vous l'exécutez en dehors de l'IDE.

Voici un exemple de la façon d'utiliser le plugin Maven Assembly pour créer un pot exécutable qui inclut vos dépendances:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>com.mycompany.qrcode.QRcode</mainClass> 
        </manifest> 
       </archive> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

La sortie de mvn package comprendra maintenant target/QRcode-1.0-SNAPSHOT-jar-with-dependencies.jar, que vous pouvez voir comprend les classes spécifiées par vos dépendances de construction.

Voici un link to the documentation pour le plugin.

+0

merci beaucoup monsieur, mon problème a été résolu. je suis si reconnaissant. –