Quando si cerca di compilare un taglet Javadoc, che richiede $JAVA_HOME/lib/tools.jar
, ho scoperto che formica (versione 1.8.4) imposta java.home
-$JAVA_HOME/jre
piuttosto che solo $JAVA_HOME
. Ho verificato questo così:
<echo>${java.home}</echo>
<echo>${env.JAVA_HOME}</echo>
[echo] /usr/java/jdk1.7.0_21/jre
[echo] /usr/java/jdk1.7.0_21
Secondo ant -diagnostics
, non v'è alcuna proprietà come un jdk.home
. Così, per usare tools.jar
che devo fare:
<classpath location="${java.home}/../lib/tools.jar"/>
Così, ho due domande:
1) C'è qualcosa di sbagliato con il mio setup di formica che sta causando java.home
per puntare alla JRE al posto del JDK?
2) Se questo è il modo in cui deve funzionare la formica, sta usando il ..
nel mio percorso di classe nel modo in cui dovrei fare le cose? O dovrei fare ${env.JAVA_HOME}/lib/tools.jar
? O qualcos'altro interamente?
ant è uno script di shell. Prova a eseguirlo con shell debug su (+ x). Assicurati che java trovata da formica sia vera java (non tutti i soft link) – Jayan
1) Ho modificato lo script della shell per mettere 'echo $ JAVA_HOME' proprio prima dell'ultima riga, ed era a quel punto invariato. 2) Ho provato a rinominare la directory JDK e inserire un link simbolico al nuovo nome al suo posto. '$ {java.home}' modificato per riflettere la directory rinominata, quindi sta usando la directory giusta. –
Scusa se non l'ho visto fino ad ora! – ingyhere