Ich arbeite an einem ziemlich großen Maven-Projekt und entwickle in Java mit Eclipse.
Um Kompilierungszeit zu sparen, möchte ich, dass Maven und Eclipse gemeinsam dasselbe Ziel teilen, was mir auch gelungen ist. Wenn ich jedoch mit Maven kompiliere Maven kompiliere, fehlen Eclipse einige Dinge, die es in den Bytecode einfügt, so dass es alles neu kompiliert (soweit ich das verstehe). Ich spreche hier von der Funktion "Automatisch kompilieren", es ist also nicht Eclipse, das den Build an Maven delegiert.
Um dieses Problem zu lösen, dachte ich, ich würde Maven bitten, denselben Compiler wie Eclipse zu verwenden. Nach einigen Recherchen im Internet fand ich heraus, dass ich dies im oberen Bereich hinzufügen kann pom
:
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerId>eclipse</compilerId>
<source>1.5</source>
<target>1.5</target>
<optimize>true</optimize>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
Das scheint zu funktionieren, aber der Build scheitert ziemlich schnell mit vielen Fehlern, während er mit javac erfolgreich ist. Ich bin mir nicht sicher, warum, aber es scheint, dass es einige Konflikte gibt, die damit zusammenhängen die Tatsache, dass die fehlgeschlagenen Java-Dateien generierte Dateien sind.
Also dachte ich, ich könnte versuchen, den Eclipse-Compiler nur für die Komponente zu verwenden, an der ich gerade arbeite (die nicht diese Art von Dateien hat). Ich fügte das obige Snippet in die pom
meiner Komponente, aber wenn der Build meine Komponente erreicht, wird der folgende Fehler ausgelöst:
Kein solcher Compiler 'eclipse'
Ich habe auch versucht, die plexus-compiler-eclipse
Abhängigkeit in der Abhängigkeiten im oberen pom aufgelistet, aber der gleiche Fehler.
Wissen Sie, ob das, was ich vorhabe, möglich ist? Haben Sie einen Tipp, wie ich es machen kann?