Wie werden alle Dateien im Verzeichnis in * .class-Dateien kompiliert?Erstellen eines Java-Pakets (Javac für alle Dateien)
Antwort
Nun scheint dies ziemlich offensichtlich, so kann ich etwas
javac *.java
(mit entsprechender Bibliothek Referenzen, usw.)
Oder vielleicht fehlen:
javac -d bin *.java
zu javac erstellen die richtige Verzeichnisstruktur für die Ausgabe.
Sie suchen etwas anspruchsvoller? Wenn ja, könnten Sie mehr Details angeben (und auch auf welcher Plattform Sie arbeiten)?
Hier ist ein Code-Fragment ist, das ich benutze ein ganzes Projekt, bei dem, wie üblich zu bauen, Quelldateien in einer tief verschachtelten Hierarchie sind und es gibt viele .jar-Dateien, die in den Classpath gehen muss (erfordert UNIX-Dienstprogramme):
CLASSPATH=
for x in $(find | grep jar$); do CLASSPATH="$CLASSPATH:$x"; done
SRC=$(find | grep java$)
javac -cp "$CLASSPATH" $SRC
Noch ein anderer Weg „finden“ auf UNIX ist hier beschrieben:
http://stas-blogspot.blogspot.com/2010/01/compile-recursively-with-javac.html
die folgenden zwei Befehle werden alle .java-Dateien im Verzeichnis ./src
und seine Unter enthalten kompilieren Verzeichnisse:
find ./src -name *.java > sources_list.txt
javac -classpath "${CLASSPATH}" @sources_list.txt
Zuerst find
erzeugt sources_list.txt
, eine Datei, die die Pfade zu den Java-Quelldateien enthält. Als nächstes kompiliert javac
alle diese Quellen mit der Syntax @sources_list.txt
.
Erwägen Sie, Ihren Post zu verbessern, da Ihre Antwort im Wesentlichen ein Link ist. Siehe: [Sind Antworten, die nur Links enthalten, wirklich "gute Antworten"?] (Http://meta.stackexchange.com/q/8231/156620) und [Warum wird verlinkt?] (Http: //meta.stackexchange .com/q/7515/156620) –
Schöne Lösung. Sie überspringen die temporäre Datei jedoch mit/dev/stdin. dh. 'finde ./src -name * .java | javac -classpath "$ {CLASSPATH}" @/dev/stdin' – Dunes
- 1. javac complie mehrere Dateien
- 2. ClassPath in Ant für Javac Aufgabe
- 3. μVISION: ZIEL ERSTELLEN IMMER ALLE DATEIEN
- 4. Erstellen eines Projekts mit ausstehenden Dateien für einen Parameter
- 5. javac mehrere Befehlsoptionen
- 6. Erstellen eines Korpus aus verschiedenen JSON-Dateien
- 7. Zielpfad für shutil.copy-Dateien erstellen
- 8. Get Ant <javac> zum Erkennen eines Klassenpfads
- 9. Erstellen eines binären Installationspakets für CentOS 5.2
- 10. javac markiert meine Kommentare als Fehler
- 11. Aktivierung von Javac-Debugging für Apache ANT
- 12. Javac für dynamische Kompilierung funktioniert nicht
- 13. Regex für alle Dateien außer .hg_keep
- 14. SYMLINK zu Verzeichnis für alle Dateien
- 15. Alle Dateien für git commit entfernen?
- 16. Netbeans - Include CSS für alle Dateien
- 17. configure.ac Spezifizieren Ordner für alle Build-Dateien
- 18. Warum enthält "cabal sdist" nicht alle "zum Erstellen benötigten Dateien"?
- 19. Erstellen eines Datums für getRequestedUpdateDateWithHandler:
- 20. Erstellen eines Fenstermanagers für Linux
- 21. Erstellen eines Formulars für HTML
- 22. Erstellen eines HashSet für Doubles
- 23. Erstellen eines sicheren Dateihostingservers für PDFs
- 24. Wie drucken Syntaxbaum mit Javac
- 25. Erstellen eines PHAR für eine einfache Anwendung
- 26. Erstellen eines Updaters
- 27. Javac wird nicht gefunden
- 28. Zugriff auf alle Dateien auf Google Drive eines Benutzers
- 29. Wie lade ich alle Dateien eines bestimmten Sourceforge-Projekts herunter?
- 30. Java 1.8.65 Javac fehlt
1) siehe Makefile (oder Ant oder Maven oder ....) 2) Nein – KevinDTimm