La documentazione Oracle su javac
indica che lo switch -s
viene utilizzato per specificare la directory in cui collocare i file di origine generati. Cosa sono quei 'file sorgenti generati' e perché ne avremmo bisogno? Ho sempre pensato che i file sorgente fossero "generati" da humanware ...Cosa sono i 'file sorgenti generati' nel contesto del compilatore Java?
risposta
Questo sembra essere correlato alla parte Annotation Processing di javac
. A quanto pare, è possibile utilizzare i processori di annotazione durante la compilazione della sorgente di Humanware generati, e questi processori possibile generare file di origine come parte di elaborazione alcune annotazioni:
Se i processori generare nuovi file di origine, poi un altro giro di elaborazione di annotazione si verifica : Tutti i file di origine appena creati vengono scansionati e le annotazioni vengono elaborate come in precedenza. Tutti i processori chiamati nei turni precedenti sono anche chiamati a tutti i round successivi. Questo continua fino a quando non vengono generati nuovi file sorgente.
Dopo un round in cui non vengono generati nuovi file di origine, i processori di annotazione vengono chiamati un'ultima volta, per dare loro la possibilità di completare qualsiasi lavoro rimanente. Infine, a meno che non venga usata l'opzione -proc: only, il compilatore compila l'originale e tutti i file sorgente generati.
Aha! Fatto. Avrei dovuto leggere più attentamente il tutotaggio JavaSE di Oracle. Grazie. Investo la tua risposta e la contrassegno come risposta accettata. –