2013-04-08 11 views
38

Potrzebuję pomocy przy próbie uruchomienia następującego projektu maven za pomocą wiersza polecenia: https://github.com/sarxos/webcam-capture, przykład kamery-przechwytywania-qrcode jest tym, który próbuję biegać. Mam go uruchomionego przy użyciu Eciplse IDE, ale trzeba przenieść go do po prostu przy użyciu wiersza polecenia. Mam słoik stworzony przez maven.Jak uruchomić plik JAR utworzonego pliku JAR za pomocą wiersza polecenia

Próbuję

java -classpath ./webcam-capture/target/webcam-capture-0.3.10-SNAPSHOT.jar com.github.sarxos.webcam.WebcamQRCodeExample  

ale wciąż otrzymuję ten

Exception in thread "main" java.lang.NoClassDefFoundError: com/github/sarxos/webcam/WebcamQRCodeExample 
Caused by: java.lang.ClassNotFoundException: com.github.sarxos.webcam.WebcamQRCodeExample 

Odpowiedz

2

nie jestem pewien, w Twoim przypadku. Ale wiem uruchomić dowolny plik jar z cmd możemy użyć następującego polecenia:

Przejdź do katalogu, w którym plik jest zapisany jar:

java -jar <jarfilename>.jar 

ale można sprawdzić poniższe linki. Mam nadzieję, że to pomoże:

Run Netbeans maven project from command-line?

http://www.sonatype.com/books/mvnref-book/reference/running-sect-options.html

+2

Działa to tylko wtedy, gdy w słoiku występuje manifest; w tym przypadku nie ma żadnego. Ale dziękuję. – Oujk

+0

Słoik z mavenami nie zawiera zależności. –

77

Wystarczy użyć exec-maven-plugin.

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.2.1</version> 
      <configuration> 
       <mainClass>com.example.Main</mainClass> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Następnie uruchomić zaprogramować:

mvn exec:java 
+3

Gdzie powinienem to dodać? Do głównego projektu pom.xml? – Oujk

+0

@Oujk Tak, do pliku pom – maba

+0

Który? Istnieje pom.xml dla prawie każdego katalogu w projekcie. – Oujk

11

Etap 1: Dodaj tę zawartość w pom.xml

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.1</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
        <configuration> 
         <transformers> 
          <transformer 
           implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
          </transformer> 
         </transformers> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

Etap 2: Wykonanie tej linii poleceń poprzez linię .

cd /go/to/myApp 
mvn clean 
mvn compile 
mvn package 
java -cp target/myApp-0.0.1-SNAPSHOT.jar go.to.myApp.select.file.to.execute 
Powiązane problemy