Linux para compilar múltiples archivos java
Pregunta
aquí está mi estructura de directorios.
/ usuario / a / usuario / b / usuario / b
dentro de la carpeta a, b, c hay un archivo person.java (es el mismo archivo, solo una modificación de una línea.
ahora, en mi shell, estoy en mi / directorio / usuario y trato de hacer
javac */person.java
el shell devuelve el siguiente error,
person.java:14: duplicar clase: persona
¿Hay algo para resolver esto?
Solución
Creo que el problema aquí podría ser que javac intenta compilar todo de una vez, lo que naturalmente resulta en definiciones de clase duplicadas.
Una forma sencilla de resolver esto sería
encontrar. -name '* .java' -exec javac {} \;
Editar:
O para ser más preciso encontrar. -nombre 'person.java' -maxdepth 2 -exec javac {} \;
Otros consejos
Iría por el script de shell pequeño:
for f in */person.java; do
javac $file
done
La primera línea encuentra todos los archivos person.java en un subdirectorio, la segunda línea compila el archivo.