web-dev-qa-db-fra.com

Comment changer Java_home pour Eclipse/ANT

J'essaie de signer un fichier JAR à l'aide d'un script ANT. Je sais que ceci doit être indiqué dans le répertoire JDK pour que jarsigner.exe puisse être exécuté, mais lorsque je fais écho à Java.home, il renvoie le répertoire JRE. 

Ce n'est pas un problème pour javac, car je peux définir le chemin de l'exécutable. Mais cela n’existe pas pour signjar. 

Comment changer le chemin Java.home? Quand je fais un clic droit sur MyComputer et que je vais à:

Propriétés> Avancé> Variables d'environnement

La variable "PATH" pointe correctement vers le JDK (C:\program files\Java\jdk\bin).

Update : le fichier signe maintenant correctement après avoir modifié la variable PATH suggérée ci-dessous. 

43
Ken

Dans Eclipse, la variable Ant Java.home n'est pas basée sur la variable d'environnement Windows Java_HOME. Au lieu de cela, il est défini sur le répertoire de base du JRE du projet. 

Pour changer le JRE par défaut (par exemple, le changer en JDK), vous pouvez aller dans Windows-> Préférences ... et choisir Java-> JRE installés.

Pour modifier uniquement l'environnement JRE d'un projet, vous pouvez accéder à Projet-> Propriétés, choisir Chemin de construction Java et choisir l'onglet Bibliothèques. Recherchez la bibliothèque système JRE et cliquez dessus, puis choisissez Edit et choisissez le JRE (ou JDK) de votre choix.

Si cela ne fonctionne pas, vous pouvez choisir Exécuter en tant que> Ant Build ... dans le fichier de construction, puis cliquer sur l'onglet JRE, choisir JRE séparé et spécifier le JRE vous voulez là.

48
Pace

Pour moi, ant refuse apparemment d'écouter toute configuration pour Eclipse par défaut, le projet JDK, et la suggestion de "Ant Home Entrries" n'a tout simplement pas eu de succès - il n'y avait aucune référence à JDK.

Cependant, cela fonctionne:

Menu "Run" -> "External Tools" -> "External Tools Configuration".
  Goto the node "Ant build", choose the ant buildfile in question.
     Choose tab "JRE".
        Select e.g. "Run in same JRE as workspace", or whatever you want.
14
stolsvik

Sous Windows, vous devez suivre:

Démarrer -> Panneau de configuration -> Système -> Avancé -> Variables d'environnement.

... et vous devez définir Java_HOME (qui est distinct de la variable PATH mentionnée) pour référencer le répertoire de base du JDK, pas le sous-répertoire bin; par exemple. "C:\programmes\Java\jdk".

11
Adamski

Simplement, pour appliquer la version Java à Ant dans Eclipse:

Utilisez l'option RunAs sur le fichier Ant, puis sélectionnez Configuration de l'outil externe inJREtab définissez la version de JDK/JRE que vous souhaitez utiliser.

7
Mahran ALSHIEKH

Veillez également à définir votre variable d'environnement Java_HOME. En fait, je règle généralement le Java_HOME, puis la chaîne "%Java_HOME%\bin" est ajoutée à la variable d'environnement PATH du système, de sorte que si Java soit mis à niveau ou modifié, seule la variable Java_HOME devra être modifiée.

Et assurez-vous de fermer toutes les fenêtres d'invite de commande ou les applications ouvertes pouvant lire vos variables d'environnement, car les modifications apportées aux variables d'environnement ne sont normalement pas remarquées jusqu'à ce qu'une application soit relancée.

4
Adam Batkin

En plus de vérifier que les exécutables sont dans votre chemin, vous devez également vous assurer que Ant peut trouver tools.jar dans votre JDK. Le moyen le plus simple de résoudre ce problème consiste à ajouter le tools.jar au chemin de classe Ant:

 Adding tools.jar to Ant classpath.

2
vallismortis

J'ai passé quelques heures à faire face à ce problème ce matin. Je suis susceptible d'être la personne la moins technique sur ces forums. À l'instar du demandeur, j'ai tout fait pour configurer% Java_HOME%, me mordant la langue chaque fois que j'ai vu ce conseil non luminaire. Enfin, je me suis demandé si le JRE de mon ordinateur portable était une version antérieure à mon JDK (les JRE étant régulièrement mis à jour automatiquement) et j'ai installé le dernier JDK. La différence était mineure, émanant de quelques semaines de versions différentes. J'ai commencé avec cette erreur sur jdk v 1.0865. Le JRE était 1.0866. Après l’installation, jdk v1.0874 et l’équivalent JRE. À ce moment-là, j'ai demandé à JRE Eclipse de se concentrer sur mon JDK et tout allait bien. Mon impression de Java.home reflétait même le bon JRE. 

Tant de commentaires ont répété les mauvaises réponses. Je demanderais vivement aux gens de lire les réactions des autres pour éviter une redondance inutile. Prenez soin de vous, SG

1
Shane

Aller à la variable d'environnement et ajouter 

Java_HOME=C:\Program Files (x86)\Java\jdk1.6.0_37

jusqu'au chemin jdk (exclure le dossier bin)
maintenant définir Java_HOME dans le chemin comme PATH=%Java_HOME%\bin;
Cela définira le chemin Java de toutes les applications utilisant Java.

Pour utilisation ANT, 

ANT_HOME=C:\Program Files (x86)\Apache-ant-1.8.2\bin;

et incluez ANT_HOME dans PATH, ainsi le chemin ressemblera à PATH=%Java_HOME%\bin;%ANT_HOME%;

0
AKD

Définir les variables d'environnement

C'est la partie que j'oublie toujours. Comme vous installez Ant manuellement, vous devez également définir manuellement les variables d’environnement.

Pour Windows XP : Pour définir les variables d'environnement sous Windows XP, cliquez avec le bouton droit de la souris sur Poste de travail et sélectionnez Propriétés. Ensuite, allez dans l'onglet Avancé et cliquez sur le bouton Variables d'environnement en bas.

Sous Windows 7 : Pour définir les variables d'environnement sous Windows 7, cliquez avec le bouton droit de la souris sur Ordinateur et sélectionnez Propriétés. Cliquez sur Paramètres système avancés, puis sur le bouton Variables d'environnement en bas.

La boîte de dialogue de Windows XP et de Windows 7 est la même. Assurez-vous de ne travailler que sur des variables système et non sur des variables utilisateur.

La seule variable d'environnement dont vous avez absolument besoin est Java_HOME , qui indique à Ant l'emplacement de votre JRE. Si vous avez installé le JDK, il s'agit probablement de c:\Program Files\Java\jdk1.x.x\jre sous Windows XP et de c:\Program Files(x86)\Java\jdk1.x.x\jre sous Windows 7. Vous remarquerez que les deux espaces comportent des espaces, ce qui pose problème. Vous devez utiliser le nom mutilé [3] au lieu du nom complet. Donc, pour Windows XP, utilisez C:\Progra~1\Java\jdk1.x.x\jre et pour Windows 7, utilisez C:\Progra~2\Java\jdk1.6.0_26\jre s'il est installé dans le dossier Program Files (x86) (sinon utilisez la même chose que Windows XP).

Cela suffit à faire fonctionner Ant, mais pour des raisons pratiques, il est judicieux d’ajouter le chemin binaire Ant à la variableCHEMIN. Cette variable est une liste de répertoires délimités par des points-virgules pour la recherche d'exécutables. Pour pouvoir exécuter ant dans n’importe quel répertoire, Windows doit connaître l’emplacement du binaire ant et du binaire Java. Vous devrez ajouter les deux à la fin de la variableCHEMIN. Pour Windows XP, vous ajouterez probablement quelque chose comme ceci:

;c:\Java\ant\bin;C:\Progra~1\Java\jdk1.x.x\jre\bin

Pour Windows 7, cela ressemblera à quelque chose comme ceci:

;c:\Java\ant\bin;C:\Progra~2\Java\jdk1.x.x\jre\bin

Terminé

Une fois que vous avez fait cela et appliqué les modifications, vous devez ouvrir une nouvelle invite de commande pour voir si les variables sont définies correctement. Vous devriez pouvoir exécuter simplement ant et voir quelque chose comme ceci:

Buildfile: build.xml does not exist!
Build failed
0
Shuvo Biswas

Si vous utilisez Eclipse, essayez les solutions suivantes:

  • Faites un clic droit sur le fichier de construction ant, puis choisissez "Propriétés".
  • Cliquez sur "Paramètres Exécuter/Déboguer", puis sur le fichier de configuration de lancement. Vous devriez pouvoir l'éditer alors.
  • Après avoir cliqué sur "Modifier", vous devriez voir une nouvelle fenêtre avec un onglet "Propriétés" qui va vous montrer une liste de propriétés de construction Ant. Il existe une propriété "Java.home" dans la liste. Assurez-vous qu'il se réfère au bon chemin.
0
ezzadeen