Wenn maven jetty: run - ist es möglich, den Übersetzungsschritt zu deaktivieren?

8

Ich arbeite mit Eclipse und Maven und führe meine Anwendung mit dem Maven Jetty Plugin aus.

Ich finde es leicht irritierend, dass Maven darauf besteht, meine Dateien jedes Mal neu zu kompilieren, wenn ich den Jetty ausführe: run. Es ist suboptimal, da die Dateien bereits von Eclipse kompiliert wurden (und ich schreibe Scala mit einem (relativ) langsamen Compiler).

Ich verwende Profile und führe mvn jetty aus: laufe unter meinem 'Entwicklungsprofil'.

Was ich machen möchte ist:

  
    
      

Konfigurieren Sie das Jetty-Plugin so, dass es die Kompilierungsphase überspringt, während es unter dem Entwicklungsprofil läuft.

    
  

Ich habe in die Maven Lifecycle-Dokumentation geschaut, aber keine Informationen über ein 'skip.compile'-Flag oder Konfigurationsparameter gefunden.

Ich habe auch versucht, Maven so zu konfigurieren, in der vergeblichen Annahme, dass es die Neukompilierung beim Start von maven-jetty-plugin stoppen würde.

Ich habe mich geirrt, es hat nicht funktioniert. Aber was ich gedacht habe, ist vielleicht der Scala Compiler das Problem. Vielleicht ignoriert es das kompilierte Zeug.

       Entwicklung                                                                 Maven-Compiler-Plugin                                       Standard-TestCompile               Test-kompilieren                                                                                        Standard-kompilieren               kompilieren                                                                                               1.6             1.6             falsch                                        org.mortbay.jetty           Jetty-Maven-Plugin           7.2.2.v20101205                                                                   wahr                    Entwicklung                     

Aktualisierung:

Ich werde versuchen, die Scala-Kompilierung speziell zu deaktivieren

    
Bryan Hunt 05.05.2011, 11:25
quelle

4 Antworten

9

Endlich gelöst. @RobertMunteanu

Wow! Nun, ich habe endlich herausgefunden, was ich falsch gemacht habe, die Lösung besteht darin, ein Entwicklungs- und Produktionsprofil zu erstellen und für das Entwicklungsprofil die Scala-Plugin-Ausführungen so zu konfigurieren, dass sie nichts tun.

So:

%Vor%     
Bryan Hunt 18.05.2011 14:47
quelle
2

Die Lösung besteht darin, eine Umgebungsvariable festzulegen von:

%Vor%

Das obige hat für mich funktioniert.

Anderswo im Internet wird beschrieben als:

%Vor%     
Bryan Hunt 17.05.2011 20:20
quelle
0

Nach einigen Nachforschungen liegt das Problem nicht beim Jetty-Plugin, sondern bei Maven-Compiler-Plugin. Es gibt einen Fehler in incrementalCompilation. Sehen Sie sich diese stackoverflow-Frage und Antwort an: Maven-Compiler-Plugin immer eine Reihe von Quellen als "abgestanden" erkennen

Die folgende Konfiguration funktioniert gut für mich; Es ermöglicht einen sehr schnellen Neustart von Jetty, wenn sich Code mit minimaler Neukompilierung geändert hat, und es kompiliert nicht, wenn Sie bereits kompiliert haben:

%Vor%     
James O'Brien 11.12.2013 08:00
quelle
-1

Wenn Sie sagen, dass die Klassen bereits von Eclipse kompiliert wurden, gibt es zwei mögliche Ursachen für das erneute Kompilieren:

  • Sie rufen clean auf oder löschen die kompilierten Klassen irgendwie;
  • Der Ausgabeordner für Eclipse ist nicht derselbe wie der Ausgabeordner für Maven.

Sie müssen also entweder das Löschen Ihrer kompilierten Klassen verhindern oder Eclipse und Maven so konfigurieren, dass sie denselben Ausgabeordner verwenden.

    
Robert Munteanu 05.05.2011 14:39
quelle