Ich würde auch vorschlagen, eine Art Build-Tool ( Ant oder Maven , Ant wird bereits vorgeschlagen und ist einfacher zu beginnen) oder eine IDE zu verwenden, die die Kompilierung verwaltet (Eclipse verwendet die inkrementelle Kompilierung mit Abgleichsstrategie, und Sie müssen nicht einmal Pflege alle drücken „Compile“ Tasten).
Verwenden von Javac
Wenn Sie etwas für ein größeres Projekt ausprobieren müssen und keine geeigneten Build-Tools in der Nähe haben, können Sie immer einen kleinen Trick verwenden, javac
der Folgendes bietet: Die zu kompilierenden Klassennamen können in einer Datei angegeben werden. Sie müssen lediglich den Namen der Datei javac
mit dem @
Präfix übergeben.
Wenn Sie eine Liste aller *.java
Dateien in Ihrem Projekt erstellen können , ist dies ganz einfach:
# Linux / MacOS
$ find -name "*.java" > sources.txt
$ javac @sources.txt
:: Windows
> dir /s /B *.java > sources.txt
> javac @sources.txt
- Der Vorteil ist, dass dies eine schnelle und einfache Lösung ist.
- Der Nachteil ist, dass Sie die
sources.txt
Datei jedes Mal neu generieren müssen, wenn Sie eine neue Quelle erstellen oder eine vorhandene Datei umbenennen. Dies ist eine leicht zu vergessende (daher fehleranfällige) und mühsame Aufgabe.
Verwenden eines Build-Tools
Auf lange Sicht ist es besser, ein Tool zu verwenden, das zum Erstellen von Software entwickelt wurde.
Mit Ant
Wenn Sie eine einfache build.xml
Datei erstellen , in der beschrieben wird, wie die Software erstellt wird:
<project default="compile">
<target name="compile">
<mkdir dir="bin"/>
<javac srcdir="src" destdir="bin"/>
</target>
</project>
Sie können die gesamte Software kompilieren, indem Sie den folgenden Befehl ausführen:
$ ant
- Der Vorteil ist, dass Sie ein Standard-Build-Tool verwenden, das einfach zu erweitern ist.
- Der Nachteil ist, dass Sie ein zusätzliches Tool herunterladen, einrichten und erlernen müssen. Beachten Sie, dass die meisten IDEs (wie NetBeans und Eclipse) eine hervorragende Unterstützung für das Schreiben von Build-Dateien bieten, sodass Sie in diesem Fall nichts herunterladen müssen.
Mit Maven
Maven ist nicht so trivial einzurichten und zu bearbeiten, aber es lohnt sich zu lernen. Hier ist ein großartiges Tutorial, um ein Projekt innerhalb von 5 Minuten zu starten .
- Der Hauptvorteil (für mich) besteht darin, dass auch Abhängigkeiten behandelt werden, sodass Sie keine Jar-Dateien mehr herunterladen und von Hand verwalten müssen. Ich fand es nützlicher, größere Projekte zu erstellen, zu verpacken und zu testen.
- Der Nachteil ist, dass es eine steile Lernkurve hat und wenn Maven-Plugins Fehler gerne unterdrücken :-) Eine andere Sache ist, dass eine ganze Reihe von Tools auch mit Maven-Repositories funktionieren (wie Sbt für Scala, Ivy für Ant, Graddle für Groovy). .
Verwenden einer IDE
Nun, was könnte Ihre Entwicklungsproduktivität steigern. Es gibt einige Open-Source-Alternativen (wie Eclipse und NetBeans , ich bevorzuge die ersteren) und sogar kommerzielle (wie IntelliJ ), die sehr beliebt und leistungsstark sind.
Sie können das Projektgebäude im Hintergrund verwalten, sodass Sie sich nicht um alle Befehlszeilen kümmern müssen. Es ist jedoch immer praktisch, wenn Sie wissen, was tatsächlich im Hintergrund passiert, damit Sie gelegentliche Fehler wie a aufspüren können ClassNotFoundException
.
Ein zusätzlicher Hinweis
Bei größeren Projekten wird immer empfohlen, eine IDE und ein Build-Tool zu verwenden. Ersteres steigert Ihre Produktivität, während letzteres die Verwendung verschiedener IDEs für das Projekt ermöglicht (z. B. kann Maven mit einem einfachen mvn eclipse:eclipse
Befehl Eclipse-Projektdeskriptoren generieren ). Darüber hinaus ist es einfach, ein Projekt, das mit einem einzeiligen Befehl getestet / erstellt werden kann, neuen Kollegen und beispielsweise einem Server für die kontinuierliche Integration vorzustellen. Stück Kuchen :-)