2016-06-02 3 views
0

Ich verwende das Play-Framework für meine Entwicklung. Jedes Mal, wenn ich kompiliere, braucht es viel Zeit. Hier ist, was die Konsole Ausgänge beim Kompilieren:Abspielen Die Kompilierungszeit ist zu hoch

[info] Compiling 23 Scala sources and 2824 Java sources to E:\Project\Integrity_ Dev\target\scala-2.11\classes...

Es dauert mindestens 45 Minuten für die Erstellung abzuschließen. Wie kann ich das reduzieren?

+1

Nun, es gibt ein paar offensichtliche Fragen: die Java-Quellen sollten nicht jedes Mal kompilieren, wenn Sie das gesamte Projekt kompilieren. Ich könnte nur daran denken, dass Sie entweder den gesamten Quellcode oder den Ausgabeordner als Grund dafür ändern - oder wahrscheinlich einen fehlerhaften Compiler. Aber warum packen Sie die Java-Quellen nicht einfach in ein '.jar' und benutzen Sie sie als Bibliothek, denn das sind sie anscheinend. – Paul

+0

Wurden Sie Ihr Projekt vor dem Kompilieren gereinigt? Mit activator clean werden alle Kompilierquellen entfernt. Wenn der activator kompiliert wird, werden alle Java- und Scala-Quellen kompiliert. – LES

+0

Vielen Dank @Paul für Ihre Antwort. Aber meine Sorge ist für 3000 Java-Dateien, die 45 Minuten verbrauchen. Du bist korrekt, wenn ich in einer einzigen Datei ändere, es kompiliert nur diese einzelne Datei. Aber für eine einzelne Datei verbraucht es 3 bis 5 Minuten. Wo vorher spielten wir Server wie JBoss und bauen Tools wie Maven. Das dauert nicht mehr als 5 Minuten für das Kompilieren. Gibt es also einen optimierenden Weg, um die Kompilierungszeit zu reduzieren? – mani

Antwort

1

Im Allgemeinen ist der wahrscheinlichste Grund dafür, dass Sie versehentlich das Build-Verzeichnis für die Java-Dateien bei jeder Neukompilierung Ihres Projekts löschen. Sie sollten das Build-Skript/die Konfiguration Ihres Projekts überprüfen.

Moderne Compiler - modern ist ziemlich breit hier, in der Tat, das ist ein ziemlich altes Feature - nur Quellcode neu kompilieren, wenn sie die kompilierte Datei nicht finden können, oder die kompilierte Datei ist älter als der Quellcode. Der einfachste Ansatz bestünde also darin, den Build-Ordner für den Java-Code vom Säubern oder vom gesamten Kompilierungsprozess auszuschließen, wenn möglich nicht in den resultierenden Build.

Wenn Sie möchten, können Sie eine .jar aus den .class-Dateien erstellen und diese in Ihr Projekt aufnehmen. Es gibt eine Vielzahl von Möglichkeiten, .jar -Dateien zu erstellen, einschließlich Maven, Ameise, welche IDE Sie verwenden, etc .. Die allgemeinste würde sein, sie über commandline zu bauen.

Eine einfachere Möglichkeit, dies zu lösen, wäre wahrscheinlich ein Maven-Build, der die Dateien direkt abruft und sie erstellt.