2010-03-25 3 views
2

J'ai une grande construction de fourmis sur laquelle je travaille, qui manque actuellement de mémoire. Un moyen que j'ai lu qui peut aider à atténuer ce problème est d'utiliser javac fork = "true" pour lancer javac dans un jvm séparé.Utilisation de l'attribut javac fork avec IBM JDK

Mon problème est que j'ai besoin de compiler le projet avec IBM JDK (ce n'est pas le JDK référencé par JAVA_HOME, et je préférerais que ce ne soit pas le cas). J'ai essayé de définir l'attribut exécutable de javac de Ant, sur le chemin vers le javac d'IBM mais pas de joie (le projet ne compilera toujours pas). Les documents de Ant pour l'état de l'attribut exécutable:

Chemin complet de l'exécutable javac à utiliser en cas de fork = "yes". Par défaut, le compilateur de la version Java qui exécute Ant. Ignoré si fork = "non". Depuis Ant 1.6, cet attribut peut également être utilisé pour spécifier le chemin vers l'exécutable lors de l'utilisation de jikes, jvc, gcj ou sj.

Quelqu'un a-t-il des idées?

Merci -

+0

Avez-vous IBM JDK pour javac sans fork? Utilise-t-il le paramètre pour build.compiler = extJavac? – JoseK

+0

En outre, tous les messages d'erreur pourraient aider. –

+0

J'ai un problème similaire - plus génériquement "Comment définir un chemin JDK pour Ant dans build.xml?" (Voulez-vous reformuler comme ça? - pourrait obtenir plus de hits). De toute façon, avez-vous trouvé la réponse entre-temps? Merci – inger

Répondre

0

J'ai utilisé une construction unique ANT pour compiler un ensemble de classes en 1.7 et un autre ensemble de classes en 1.6 et il fonctionne très bien.

Les versions 1.7 et 1.6 sont toutes deux IBM JDK. les points JAVA_HOME à la JDK 1.7 & la version ANT est 1.9

Voici les balises ANT utilisées

1.7 compilation utilisant JAVA_HOME

`<javac srcdir="${LOCAL_SOURCE_PATH}/temp" debug="true" deprecation="false" fork="true" memoryInitialSize="1024M" memoryMaximumSize="1500M" verbose="${verbose}">` 

1,6 compilation en utilisant les balises javac attribut exécutable

`<javac srcdir="${LOCAL_SOURCE_PATH}/branchtmp" fork="true" executable="${JAVA6_HOME}/bin/javac" compiler="javac1.6" debug="true" deprecation="false"memoryInitialSize="1024M" verbose="${verbose}">` 

J'espère que cela t'aides.