2011-06-07 2 views
0

J'ai un tisserand bytecode que je veux exécuter pendant la construction eclipse. Pour compiler/tisser des classes, il doit avoir accès au classpath du projet, y compris les dépendances de bibliothèque et autres. Mais quand je vais à la boîte de dialogue de projet, je ne trouve nulle part pour donner à mon tisserand le chemin de classe afin qu'il puisse faire son travail. Les variables ne semblent pas l'inclure.Comment donner le classpath du projet à un Builder personnalisé dans eclipse?

Je m'attendrais au moins à pouvoir configurer l'équivalent du compilateur Java en tant que constructeur personnalisé qui nécessiterait également tous les classpath, alors ... comment l'obtenir?

Répondre

0

J'ai trouvé un problème d'éclipse ouverte qui semblait suggérer que ce que je voulais faire n'était pas implémenté. Comment construit-on sans les informations nécessaires pour construire? Tant pis.

Je trouve/scripted une solution de contournement:

Utilisez ceci: http://java.net/projects/parse-dot-classpath

passer un script le chemin du projet afin qu'il puisse trouver le fichier .classpath pour analyser. Passez toutes les variables dont vous pourriez avoir besoin avec cela. Ensuite, vous pouvez dans le script passer ce classpath à n'importe quel constructeur que vous vouliez utiliser.

Voici un exemple (pas joli, mais il fonctionne):

#!/bin/bash 
PROJECT_DIR=$3 
SCRIPT_DIR=`dirname $0` 
CLASSPATH=`cd $SCRIPT_DIR; java $4 $5 $6 ParseDotClasspath $PROJECT_DIR` 
java -cp ${SCRIPT_DIR}/classes:${SCRIPT_DIR}/libs/asm-all-2.2.3.jar:$CLASSPATH kilim.tools.Weaver -d $1 $2 
0

Utilisez Ant Builder et non Program.

Dans le cas du Ant Builder, vous pouvez spécifier un chemin de classe personnalisé.

+0

Je ne veux pas courir fourmi, et je ne veux pas spécifier un chemin de classe personnalisée. Je veux que mon constructeur ait un accès au classpath du projet existant pour qu'il puisse compiler/tisser les classes dans le projet. – mentics

Questions connexes