Pergunta

No meu projeto Eclipse, estou usando um processador de anotação de terceiros, Hibernate Metamodel Gerator para ser exato. O processador de anotação funciona conforme o esperado e gera arquivos .java, conforme especificado pela especificação. Esses arquivos são gerados no diretório do projeto Eclipse sob uma pasta "gen". Nas propriedades do projeto, isso é refletido corretamente, pois existem duas pastas de origem - "SRC" e "Gen". No entanto, quando o projeto é criado por algum motivo, todas as fontes [geradas] em "Gen" não são compiladas (verificando o diretório "bin", eu só vejo arquivos .class do diretório "SRC"). Alguém sabe por que isso está acontecendo?

Foi útil?

Solução

Eu descobri isso há um tempo atrás e pensei em voltar e explicar o que acontece. Quando o compilador é executado, ele compila as fontes existentes (as que eu escrevi) e, em seguida, gera arquivos de origem a partir dos arquivos de origem existentes, mas não compilam essas classes geradas. Acabei transformando isso em um projeto ANT (conforme a configuração instruções). Então, basicamente, eu tinha duas tarefas: primeiro a gerar novos arquivos de origem (executando o JAVAC com o -proc:only A opção faz com que o processamento da anotação ocorra sem compilar as fontes) e a segunda para compilar todas as fontes (geradas e existentes).

Outras dicas

Você precisará atualizar a pasta "Gen" no Eclipse (por exemplo, do pacote Explorer) para que o Eclipse ver os arquivos recém -gerados e compilá -los. Você está fazendo isso?

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