Wie kompilieren Maven-Projekt über die Befehlszeile mit allen Abhängigkeiten?

Ich habe ein Maven Projekt, dass in der Regel kann ich kompilieren und ausführen von eclipse, aber wenn ich es kompilieren von der Kommandozeile aus die Abhängigkeiten fehlen noch und ich bin immer Fehler. Ich kann das Projekt kompilieren erst nachdem ich den download von Abhängigkeiten und fügen Sie Sie zu c:/Java/jdk/jre/lib/ext

Wie kann ich das Projekt kompilieren und die Abhängigkeiten von der Kommandozeile ohne die Zugabe manuell zu jdk? Kann der compiler irgendwie Lesen maven-Abhängigkeiten?

pom.xml

<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>TCPPing</groupId>
  <artifactId>TCPPing</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>3.3</version>
    </dependency>
        <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.6</version>
    </dependency>
  </dependencies>
</project>
  • bitte Lesen Sie zumindest einige der maven Dokumentation: maven.apache.org/guides/getting-started/... - und bitte NIEMALS ETWAS hinzufügen lib/extern/ wieder! Der java-classpath Optionen sind genug, um führen Sie die Anwendung. Dont verschmutzen Ihre java-installation mit Projekt-spezifischen Dateien.
  • Ich habe gelesen, es und ich immer noch nicht verstehen, was zu tun ist, ich bin sehr neu auf all dies. Ich schaffte es zum generieren der jar-Datei von meinem Projekt mit allen Abhängigkeiten und führen Sie es, aber das ist nicht das, was ich brauche, ich will nur mein compiler an, Lesen Sie meine Abhängigkeiten von projectFolder/lib
  • Bitte fügen Sie die pom.xml Ihres Projekts
  • fügte hinzu, es zu dem post
  • Welche Abhängigkeiten haben, die Sie brauchen, um hinzuzufügen, zu JDKs ext-Ordner? Sie könnten finden die entsprechenden Abhängigkeiten mit search.maven.org und fügen Sie Sie zu Ihrem pom.
  • ich brauche alle Abhängigkeiten von der pom.xml oben angegeben. commons-cli, commons-net und logback-classic
  • 1. haben Sie versucht, mvn clean compile? 2. Läuft dein Programm mit java TCPPing erfordern würde, dass deine main-Klasse im default-package, das wäre eine schlechte Praxis.
  • habe ich, hilft nicht. Ich weiß, es ist eine schlechte Praxis, aber es ist ein port von einer Zuordnung, die klar besagt, dass das Programm ausgeführt werden muss, irgendwie.
  • Ausführung unterscheidet sich von der Laufzeit. Poste bitte die maven-Befehl aus, Ihr ausführen um die Anwendung zu kompilieren und Fehlermeldungen an. Bitte fügen Sie zu Ihrer Frage, kein Kommentar.
  • Maven wird laden Sie Ihre Abhängigkeiten zu ~/.m2/repository nicht project/lib. Es wird dann aktualisieren Sie die compile-Zeit classpath auf Sie zeigen, während der Kompilierung.
  • mvn clean kompiliert, funktioniert einwandfrei. sagt der build erfolgreich. aber wenn ich javac kompilieren, es funktioniert nicht.
  • MVN compile javac läuft für Sie, indem die abhängigen jars im classpath. Hast du die class-Dateien generiert, die in den target-Ordner?

InformationsquelleAutor asdf | 2016-07-11
Schreibe einen Kommentar