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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top