web-dev-qa-db-fra.com

Comment puis-je configurer mon Cygwin PATH pour trouver javac?

J'ai un système Windows 7 sur lequel j'ai installé le dernier compilateur Java. J'ai également le dernier compilateur Cygwin. Je veux utiliser le compilateur Java de Cygwin) Shell. J'ai édité la variable PATH dans Cygwin comme suit:

export PATH=$PATH:"/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/"

Je peux voir le binaire javac dans le répertoire ci-dessus, mais lorsque j'essaie de compiler mon fichier * .Java, j'obtiens:

javac command not found

Suis-je en train de faire quelque chose de mal en définissant la variable PATH comme ceci? Dois-je faire autre chose? Je suis nouveau sur Java et je ne connais pas très bien cygwin.

39
liv2hak

lorsque vous l'écrivez avec des guillemets, vous n'avez pas besoin d'échapper aux espaces avec \

export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/"

bien sûr, cela fonctionne aussi:

export PATH=$PATH:/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/
65
lweller

Les fichiers binaires Java peuvent être sous "Program Files" ou "Program Files (x86)": ces espaces blancs affecteront probablement le comportement.

Afin de configurer correctement les variables env, je suggère de rassembler quelques informations avant de commencer:

  • Ouvrez le shell DOS (tapez cmd dans la case 'RUN') allez dans C: \
  • tapez "dir/x" et notez les noms DOS (avec ~) pour les dossiers "Program Files *"

configuration Cygwin:

allez sous C:\cygwin\home \, puis ouvrez .bash_profile et ajoutez les deux lignes suivantes (personnalisées de manière pratique pour correspondre à votre chemin JDK réel)

export Java_HOME="/cygdrive/c/PROGRA~1/Java/jdk1.8.0_65"
export PATH="$Java_HOME/bin:$PATH"

Maintenant depuis le lancement de Cygwin

javac -version

pour vérifier si la configuration a réussi.

6
l__LG__l

Pour mettre davantage en évidence le commentaire utile de @johanvdw:

Si vous voulez vous assurer que le chemin de votre fichier javac est toujours connu lorsque cygwin démarre, vous pouvez modifier votre .bash_profile fichier. Dans cet exemple, vous ajouteriez export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/" quelque part dans le fichier.

Lorsque Cygwin démarre, il recherche dans les répertoires de PATH et celui-ci les fichiers exécutables à exécuter.

3
EconomiCurtis

Si vous trouvez toujours que la mauvaise valeur par défaut Java version (1.7) est utilisée à la place de votre répertoire personnel Java), alors tout ce que vous devez faire est simplement changez l'ordre de votre variable PATH pour définir Java_HOME\bin avant votre répertoire Windows dans votre variable PATH, enregistrez-le et redémarrez cygwin. Testez-le pour vous assurer que tout fonctionnera correctement. Cela ne devrait pas avoir d'effet négatif car vous voulez le vôtre Java pour remplacer la valeur par défaut fournie avec Windows. Bonne chance!

2
user4121974