Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
ich lerne gerade Java Programmierung, und wie bei jeder neuen Sprache mach ich das von einer möglichst einfachen Ebene - hier jetzt der Kommandozeile.
Ich ruf den Compiler direkt mit javac auf.
Dazu wollt ich mir jetzt ein Batch-File schreiben - (Windows - Shell).
Woher bekomm ich denn Informationen über die Rückgabewerte des Java-Compilers?
So das ich die auswerten kann, und mir im Fehlerfall Informationen angezeigen lassen kann?
Ich versteh nicht wie man Probleme lösen kann die es im echten Leben nicht gibt??
Das Batch-File verwende ich weil ich applets schreibe, und mir jedes mal nach dem compilieren die Datei noch mal extra in meinen Webbrowser-Ordner schieben müsste.. Das wollte ich automatisch erledigen, wenn eben kein Fehler aufgetreten ist - im Fehlerfall würde ich mir den Fehler anzeigen lassen.
Anschließend wollte ich mir gleich noch den ClassLoaderCache löschen lassen.
Ausserdem wird noch eine Auto-Dokumentationssoftware mit aufgerufen. Und das alles jedes mal von Hand zu erledigen ist doch lästig.
Schon klar, aber niemand, wirklich niemand, macht sowas mit Batchfiles, dafür gibt es Ant, Maven, etc. pp.
Allesamt Javatools die auch ins Javauniversum passen: Sie sind Plattformunabhängig, das sind deine Batchfiles nicht, ausserdem kommen alle diese Tools mit Unterstützung für utf-8, das ist nicht von Haus aus der Fall bei cmd.exe
je nach aufgabe... will ich etwas bauen -> ant/maven. will ich etwas deployen -> nicht ant/maven.
Ich würde keine Software ausliefern und sagen "damit ihr das nun nutzen könnte müsst ihr erstmal ant/maven installiert haben". Nein da kommen .bat / .sh Dateien bzw installer zum Einsatz.
Einen return Wert im klassischen Sinn hat javac IMHO nicht, aber ich kann mich irren.
Sicher ist jedoch, dass Standardoutput und Erroroutput umgeleitet werden können. Entweder in Dateien oder pipes und so geparst werden können.
Wie die genaue Notation ist, weiss ich nicht mehr. ( blabla &2> errlog.txt &1> log.txt oder so ähnlich)
je nach aufgabe... will ich etwas bauen -> ant/maven. will ich etwas deployen -> nicht ant/maven.
Ich würde keine Software ausliefern und sagen "damit ihr das nun nutzen könnte müsst ihr erstmal ant/maven installiert haben". Nein da kommen .bat / .sh Dateien bzw installer zum Einsatz.
Sorry, ich mach das ja über die Windows-Shell, nicht Linux.. Aber danke. =)
Manchmal hilft einfach eine Pause und etwas Abstand.
Ich habs mit Hilfe des DOS-Errorlevels gelöst. Ist doch ein wenig zu lange her das ich mich auf Kommandoebene herumgeschlagen habe.
Ein kurzes Beispiel:
Code:
@echo off
echo Bearbeite: %1
javac %1
if not %errorlevel% == 0 goto beenden
echo Alles ok
:beenden
echo Verarbeitung beendet.
Ich hab zwar jetzt immernoch keine Angabe darüber ob verschiedene Werte zurückgegeben werden, aber das soll erstmal reichen..