J'essaie d'installer IDEA sur Ubuntu 11.10. Tout d'abord, j'ai installé openjdk-7-jdk
. Ensuite, j'ai essayé d'exécuter le fichier idea.sh
en suivant les instructions. Cependant il se plaint:
ERROR: cannot start IntelliJ IDEA.
No JDK found to run IDEA. Please validate either IDEA_JDK, JDK_HOME or Java_HOME
environment variable points to valid JDK installation.
Press Enter to continue.
En essayant de echo
ces trois variables, une ligne vide apparaît à l'écran. Comment (et à quelles valeurs) dois-je définir ces variables et procéder à l'installation? Merci.
METTRE À JOUR:
Il est recommandé d'utiliser JetBrains Runtime fourni sous Linux pour exécuter IntelliJ IDEA. Pour le moment, IntelliJ IDEA requiert Java 8 pour fonctionner sur cette plate-forme. Il est possible de passer à un système ou à une autre version de Java, veuillez vérifiez la FAQ .
Réponse originale (obsolète):
Il est recommandé d'utiliser OpenJDK 1.7+ ou Oracle JDK pour exécuter IntelliJ IDEA sous Linux. OpenJDK 1.6 est strictement non pris en charge en raison des problèmes de performances et des problèmes visuels connus.
À partir d'IntelliJ IDEA 16, l'environnement JRE personnalisé est fourni avec les distributions Linux.
La difficulté réside dans le fait qu'Oracle JDK n'est plus distribué via les packages .deb et que vous ne pouvez pas simplement l'installer avec apt-get ou Ubuntu Software Center.
Leur site est également source de confusion et vous pouvez facilement télécharger JRE au lieu du JDK (qui ne fonctionnera pas car IntelliJ IDEA a besoin de tools.jar manquant dans le package JRE).
Voici l'URL correcte pour les téléchargements JDK (version 1.6.0_29). Depuis cette URL, téléchargez le fichier .bin approprié, par exemple jdk-6u29-linux-i586.bin si vous avez besoin de Java 32 bits ou de jdk-6u29-linux-x64.bin. pour la version 64 bits.
chmod +x jdk-6u29-linux-i586.bin
./jdk-6u29-linux-i586.bin
installer dans le répertoire current.
Dans bin/idea.sh, ajoutez ce qui suit sur la deuxième ligne:
export IDEA_JDK=/path/to/jdk1.6.0_29
Réside normalement sous /usr/lib/jvm/<YOUR_JDK>
. Maintenant, IntelliJ IDEA devrait bien démarrer sous Oracle JDK 1.6.0_29. Vous pouvez le vérifier dans Help
| About
.
je fais également face à une question ... au jour des sapins, tout fonctionne sans problème, mais ensuite ... Je résous un problème: ajoute au fichier idea.sh
la ligne avec le chemin d'accès à JDK IDEA_JDK="/opt/Java/32/jdk1.6.0_45/"
ajouter après 46 lignes
Vous pouvez définir la variable Java_HOME
et ajouter à votre PATH
en procédant comme suit. En tant que root, ouvrez /etc/bash.bashrc
et ajoutez ce qui suit à la fin du fichier.
Java_HOME=/usr/lib/jvm/Java
export Java_HOME
Lorsque vous redémarrez, essayez ce qui suit:
$ echo $Java_HOME
J'ai eu ce problème plusieurs fois ...
puis lancez le depuis le terminal:
$ idea projects-name;
OU 2: naviguez dans IDEA_HOME/bin et lancez-le à partir de là.
si vous aviez installé Java, essayez
type Java
si tu vois comme ça
Java is /usr/Java/default/Java
alors vous devriez éditer. profil_bash, ajoutez
export Java_HOME=/usr/Java/default
puis exécuter
source .bash_profile
si vous n'installez pas Java, vous devez installer manuel ou auto.
Vous installez JDK 8 avec:
Sudo apt-get install openjdk-8-jdk
Ensuite, le problème réside parfois dans la version par défaut de Java que vous exécutez. Pour cela, utilisez update-alternatives
pour le modifier:
Sudo update-alternatives --config Java
Voyez comment je l'ai fait:
$ Sudo update-alternatives --config Java
There are 2 choices for the alternative Java (providing /usr/bin/Java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java 1071 auto mode
1 /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java 1071 manual mode
2 /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java 1069 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java to provide /usr/bin/Java (Java) in manual mode
Et maintenant, Intellij IDEA 2016.3 fonctionne bien.
En fait, vous pouvez configurer Java_HOME dans bash. Mais, IDEA utilisez javac et Java à partir des dossiers bin standard. Donc, vous devez configurer comme ceci.
utiliser ces commandes pour mv dans le dossier jvm sous/usr/lib/jvm
Sudo mv -r ~/jdk-xx-version /usr/lib/jvm
utilisez ces commandes pour configurer Java_HOME
Sudo update-alternatives --install "/usr/bin/Java" "Java" "/usr/lib/jvm/jdk-xx-version/bin/Java" 1
Sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk-xx-version/bin/javac" 1
Sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk-xx-version/bin/javaws" 1
Voici un script bash pour les développeurs qui installe IDEA afin que vous puissiez l'exécuter à partir du shell via idea.sh
Ça aussi:
#!/bin/bash
#Author: Yucca Nel http://thejarbar.org
#Modify these variables as needed...
tempWork=/tmp/work
defaultStartScript=/etc/init.d/rc.local
defaultIDEA=11.0.1
locBin=/usr/local/bin
read -p "Please [Enter] full path name of your local startup script ($defaultStartScript is the default). Please
make sure on this before providing a value by consulting documentation for your system:" locStartScript
locStartScript=${locStartScript:-$defaultStartScript}
read -p "Please [Enter] IDEA Version ($defaultIDEA is default):" ideaVersion
ideaVersion=${ideaVersion:-$defaultIDEA}
if [ ! -f $locStartScript ]
then
echo "The file you provided could not be found. Remember to include the full path and try again. Exiting in 7 secs..."
sleep 7
exit 1
fi
mkdir -p /$tempWork
cd /$tempWork
Sudo wget http://download-ln.jetbrains.com/idea/ideaIC-$ideaVersion.tar.gz;
tar -zxvf ./*;
#Move it to a better location...
mv ./idea-IC-* $HOME/;
Sudo ln -f -s $HOME/idea-*/bin/* /usr/bin/;
#If you use VirtualBox , you can share your projects between Host and guest. Name of shared
#folder must match 'IdeaProjects'
mkdir -p $HOME/IdeaProjects
if [ -f /sbin/mount.vboxsf ]
then
Sudo /sbin/umount $HOME/IdeaProjects
Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects
fi
if mountpoint -q ~/IdeaProjects
then
#Add it to the start script to automate process...
if ! grep "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" $locStartScript
then
echo "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" | Sudo tee -a $locStartScript
fi
Sudo chmod +x $locStartScript
#Create a mount and unmount script file...
rm -rf $tempWork/*
echo '#!/bin/bash' > $tempWork/idea-mount.sh
echo "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" >> $tempWork/idea-mount.sh
echo "echo 'mounted IdeaProjects'" >> $tempWork/idea-mount.sh
echo "exit 0" >> $tempWork/idea-mount.sh
echo '#!/bin/bash' > $tempWork/idea-umount.sh
echo "Sudo umount $HOME/IdeaProjects" >> $tempWork/idea-umount.sh
echo "echo 'unmounted IdeaProjects'" >> $tempWork/idea-mount.sh
echo 'exit 0' >> $tempWork/idea-umount.sh
#Script for mounting ALL VirtualBox shared solders....
#If there isn't one create one...
if [ ! -f $locBin/mount-all-from-Host.sh ]
then
echo '#!/bin/bash' > $tempWork/mount-all-from-Host.sh
echo "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" | Sudo tee -a $tempWork/mount-all-from-Host.sh
echo "exit 0" | Sudo tee -a $tempWork/mount-all-from-Host.sh
#Otherwise if there is one, but no mount, add one...
Elif ! grep "Sudo /sbin/mount.vboxsf IdeaProjects" $locBin/mount-all-from-Host.sh
then
Sudo sed -ie '$d' $locBin/mount-all-from-Host.sh
echo "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" | Sudo tee -a $locBin/mount-all-from-Host.sh
echo "exit 0" | Sudo tee -a $locBin/mount-all-from-Host.sh
fi
#Script for unmounting ALL VirtualBox shared folders...
#If there isn't one create one...
if [ ! -f $locBin/umount-all-from-Host.sh ]
then
echo '#!/bin/bash' > $tempWork/umount-all-from-Host.sh
echo "Sudo umount -a -t vboxsf" | Sudo tee -a $tempWork/umount-all-from-Host.sh
echo "echo 'unmounted all VirtualBox shared folders'" | Sudo tee -a $tempWork/umount-all-from-Host.sh
echo "exit 0" | Sudo tee -a $tempWork/umount-all-from-Host.sh
fi
Sudo chmod +x $tempWork/*
Sudo mv -f $tempWork/*.sh $locBin/
rm -rf $tempWork
fi
Sudo rm -rf $tempWork
exit 0