linux para compilar arquivos java múltipla
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?
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.