Установка IDEA на Ubuntu 11.10
Я пытаюсь установить IDEA на Ubuntu 11.10. Во-первых, я установил openjdk-7-jdk
. Затем я попробовал запустить файл idea.sh
в соответствии с инструкциями. Однако он жалуется:
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.
Попытка echo
эти три переменные печатают пустую строку на экране. Как (и к каким значениям) установить эти переменные и продолжить установку? Спасибо.
Ответы
Ответ 1
ОБНОВЛЕНИЕ:
Для запуска IntelliJ IDEA рекомендуется использовать встроенную среду выполнения JetBrains в Linux. На данный момент IntelliJ IDEA требует Java 8 для работы на этой платформе. Можно переключиться на систему или другую версию Java, пожалуйста, проверьте FAQ.
Оригинальный ответ (устарел):
Рекомендуется использовать OpenJDK 1. 7+ или Oracle JDK для запуска IntelliJ IDEA в Linux, OpenJDK 1.6 строго не поддерживается из-за известных проблем производительности и визуальных проблем.
Начиная с IntelliJ IDEA 16, пользовательский JRE поставляется с дистрибутивами Linux.
Сложность в том, что Oracle JDK больше не распространяется через пакеты.deb, и вы не можете просто установить его с помощью apt-get или Ubuntu Software Center.
Их сайт также сбивает с толку, и вы можете легко загрузить JRE вместо JDK (который не будет работать, поскольку IntelliJ IDEA нужен tools.jar, который отсутствует в пакете JRE).
Вот правильный URL для загрузок JDK (версия 1.6.0_29). С этого URL-адреса загрузите соответствующий .bin- файл, например, jdk-6u29-linux-i586.bin, если вам нужна 32-битная Java или jdk-6u29-linux-x64.bin для 64-битной версии.
chmod +x jdk-6u29-linux-i586.bin
./jdk-6u29-linux-i586.bin
установить в текущем каталоге.
Внутри bin/idea.sh добавьте следующее во второй строке:
export IDEA_JDK=/path/to/jdk1.6.0_29
Обычно находится в /usr/lib/jvm/<YOUR_JDK>
. Теперь IntelliJ IDEA должен нормально стартовать под Oracle JDK 1.6.0_29. Вы можете проверить это в Help
| About
Ответ 2
Вы можете установить переменную JAVA_HOME
и добавить в свой PATH
, выполнив следующее. Когда root откройте /etc/bash.bashrc
и добавьте следующее в конец файла.
JAVA_HOME=/usr/lib/jvm/java
export JAVA_HOME
При перезагрузке попробуйте запустить следующее:
$ echo $JAVA_HOME
Ответ 3
У меня тоже возникает вопрос... в первый день все работает без проблем, но потом...
Я решаю проблему: добавьте в файл idea.sh
строку с указанием пути к JDK IDEA_JDK="/opt/java/32/jdk1.6.0_45/"
добавить после 46 строк
Ответ 4
Если вы установили java, попробуйте
type java
если вы видите это как
java is /usr/java/default/java
тогда вы должны отредактировать файл .bash_profile, добавить
export JAVA_HOME=/usr/java/default
затем выполните
source .bash_profile
Если вы не устанавливаете java, вам следует установить вручную или автоматически.
Ответ 5
У меня была эта проблема несколько раз...
- Добавьте IDEA_HOME/bin в свой PATH
Убедитесь, что JAVA_HOME и другие переменные верны.
затем запустите его с терминала:
$ idea projects-name;
ИЛИ 2: перейдите в IDEA_HOME/bin и запустите его оттуда.
Ответ 6
Собственно, вы можете настроить JAVA_HOME в bash. Но, IDEA использует javac и java из стандартных папок bin. Итак, вам нужно настроить такие настройки.
- Загрузите папку JDK в дом (~)
- извлечение zip файла
-
используйте эту команду в папке mv в jvm в каталоге /usr/lib/jvm
sudo mv -r ~/jdk-xx-version /usr/lib/jvm
-
используйте эти команды для настройки 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
Ответ 7
Вы устанавливаете JDK 8 с помощью:
sudo apt-get install openjdk-8-jdk
Тогда иногда проблема кроется в версии JAVA по умолчанию, которую вы запускаете. Для этого используйте update-alternatives
, чтобы изменить его:
sudo update-alternatives --config java
Посмотрите, как я это сделал:
$ 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
И теперь Intellij IDEA 2016.3 работает нормально.
Ответ 8
Вот bash script для разработчиков, которые устанавливают IDEA, чтобы вы могли запускать его из оболочки через idea.sh
Он также:
- Проверяет, работает ли операционная система на VirtualBox
- Если он работает на VirtualBox, проверяет, настроен ли IdeaProjects для обмена
- Если да, записывает команду mount в bootstrap script для автоматизации проектов с хоста на гостевой
- Также создает script для монтирования и демонтажа проектов идей на лету
#!/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