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.
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/
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:
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.
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.
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!