Pergunta

aqui é a minha estrutura de diretório.

/ user / a / Utilizador / b / User / b

dentro da pasta a, b, c há uma person.java arquivo (que é o mesmo arquivo, apenas uma modificação de uma linha.

Agora, no meu shell, im no meu / user / diretório e eu tento fazer

   javac */person.java

o shell retorna o seguinte erro,

person.java:14: class duplicado: pessoa

Existe alguma coisa para resolver isso?

Foi útil?

Solução

Eu acho que o problema aqui pode ser, que tenta javac para tudo compilação de uma só vez, o que naturalmente resulta em definições de classe duplicados.

Uma maneira simples de resolver isso seria

find . -name '*.java' -exec javac {} \;

Editar:

Ou para ser mais preciso find . -name 'person.java' -maxdepth 2 -exec javac {} \;

Outras dicas

eu iria para o pequeno shell script:

for f in */person.java; do
  javac $file
done

A primeira linha encontrar todos os arquivos person.java em um sub-diretório, segunda linha de compilação do arquivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top