2010-11-04 6 views
1

J'essaye de faire compiler un projet Java par Hudson, mais il continue d'échouer.Avez-hudson compiler un repo avec maven

J'ai commencé un nouveau travail, avec « construire un projet de logiciel de style libre »

J'ai mis le SCM à Mercurial, a ajouté une étape de construction « mvn compilation » et l'avait publier Junit et JDepend résultats. Rapport de test JUnit simple nommé "* .xml"

Le clonage du repo fonctionne, mais le repo refuse de compiler. Je reçois ce message d'erreur:

[workspace] $ /usr/local/bin/hg log --rev . --template {node} 
[workspace] $ /bin/bash -xe /tmp/hudson1162267116265588070.sh 
+ mvn compile 
/tmp/hudson1162267116265588070.sh: line 2: mvn: command not found 
Recording test results 
[JDepend] JDepend plugin is ready 
[JDepend] Starting JDepend file, outputting to /tmp/jdepend6348540211061861772.xml 
[JDepend] Found 2 classes in 1 packages 
Finished: FAILURE 

EDIT: résultat de mvn -ver

Java version: 1.6.0_21 
Java home: /usr/java/jdk1.6.0_21/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux" version: "2.6.32-25-generic" arch: "i386" Family: "unix" 

De plus, ce que j'ai ajouté à mon dossier /etc/bash.bashrc.

export JAVA_HOME=/usr/java/jdk1.6.0_21 
export M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1 
export M2=$M2_HOME/bin 
export MAVEN_OPTS="-Xms256m -Xmx512m" 
export PATH=$M2:$PATH 

export MAVEN_HOME=/usr/local/apache-maven/apache-maven-2.2.1 
export MAVEN=$MAVEN_HOME/bin 

Et l'écho de $ PATH.

/usr/local/apache-maven/apache-maven-2.2.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ sbin:/bin:/usr/games: /usr/java/jdk1.6.0_21/bin

+0

Pouvez-vous exécuter "mvn -ver", si cette commande échoue c'est un problème avec Maven, pas Hudson. – Andy

Répondre

1

L'essentiel de la réponse de John V et de ses commentaires.

Il ne peut pas trouver maven, car il n'est pas dans le chemin. Si vous définissez le chemin dans le profil .profile de Hudson, vous n'avez pas de chance. Le profil ne sera exécuté que pour les shells de connexion. AFAIK, Hudson ouvre un shell non-interactif pour exécuter les étapes de construction et par conséquent, le fichier .profile ne sera pas exécuté. Lorsque vous vous connectez en utilisant le compte d'utilisateur Hudson et exécutez la commande maven, vous n'aurez aucun problème, car le profil est correctement exécuté.

Questions connexes