Linux per compilare più file Java
Domanda
ecco la mia struttura di directory.
/ user / a / User / b / User / b
nella cartella a, b, c c'è un file person.java (è lo stesso file, solo una modifica di una riga.
ora, sulla mia shell, sono nella mia directory / user / e provo a farlo
javac */person.java
la shell restituisce il seguente errore,
person.java:14: classe duplicata: persona
C'è qualcosa per risolverlo?
Soluzione
Penso che il problema qui potrebbe essere che javac cerca di compilare tutto in una volta, il che si traduce naturalmente in definizioni di classe duplicate.
Un modo semplice per risolvere questo sarebbe
trova. -name '* .java' -exec javac {} \;
Modifica
O per essere più precisi trova. -name 'person.java' -maxdepth 2 -exec javac {} \;
Altri suggerimenti
Vorrei scegliere il piccolo script di shell:
for f in */person.java; do
javac $file
done
La prima riga trova tutti i file person.java in una sottodirectory, la seconda riga compila il file.