Da Java 1.5 o giù di lì, javac ha esaminato il manifest di jar di terze parti per trovare altri vasi. Questo provoca una serie di effetti collaterali indesiderati:Posso evitare che javac acceda al Class-Path dai manifesti dei nostri vasi di terze parti?
- Come i file jar sono stati rinominati, ora otteniamo una marea di avvisi ogni volta che compilare (può essere diabled con
-Xlint:-path
) - file che non vogliamo su il percorso di classe viene riportato su di esso, anche se sono stati lasciati fuori per un motivo.
- Nella build viene aggiunto del tempo aggiuntivo per cercare tutti questi vasi aggiuntivi, a causa della risoluzione di questa roba che in realtà non vogliamo.
Quindi mi chiedevo se qualcuno conosce l'invocazione magica per disabilitare questo. Supponendo che Sun non ci abbia soppiantato con un'altra funzionalità che non volevamo e non possiamo disattivare una volta che ce l'abbiamo.
+1 non sapevo javac lo fa. Qualche idea sul perché qualcuno lo vorrebbe? Posso (in qualche modo) capire il desiderio di un po 'di magia per il classpath di runtime, ma fare casino con il percorso di costruzione? – Thilo
Anche il compilatore di eclipse lo fa? Potresti usare quello invece. – Thilo
Ecco il bug (con discussione) che ha causato l'aggiunta di questa funzione (IMHO stupida): http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4212732 – Archie