Установка идеи на 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
этих трех переменных выводит на экран пустую строку. Как (и до каких значений) мне установить эти переменные и продолжить установку? Спасибо.
8 ответов:
Рекомендуется использовать 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 нужны инструменты.банка, которая отсутствует в пакете 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
.
Вы можете задать переменную
JAVA_HOME
и добавить ее к своей переменнойPATH
, выполнив следующие действия. Как root откройте/etc/bash.bashrc
и добавьте следующее в конец файла.JAVA_HOME=/usr/lib/jvm/java export JAVA_HOME
При перезагрузке попробуйте выполнить следующее:
$ echo $JAVA_HOME
Я также сталкиваюсь с вопросом... в первый день все работает без проблем, но потом... я решаю задачу: добавить в файл
idea.sh
строку с путем к JDKIDEA_JDK="/opt/java/32/jdk1.6.0_45/"
Добавить после 46 строки
Если вы установили java ,попробуйте
type java
Если вы видите вот так
java is /usr/java/default/java
Тогда вы должны отредактировать .bash_profile, add
export JAVA_HOME=/usr/java/default
Затем выполнить
source .bash_profile
Если вы не устанавливаете java, вы должны установить вручную или автоматически.
У меня была эта проблема несколько раз...
- Добавьте IDEA_HOME/bin в свой путь Убедитесь, что JAVA_HOME и другие переменные являются правильными.
Затем запустите его с терминала:
$ idea projects-name;
Или 2: Перейдите в IDEA_HOME/bin и запустите его оттуда.
На самом деле, вы можете настроить JAVA_HOME в bash. Но, идея использовать javac и java из стандартных папок bin. Итак, вы должны настроить вот так.
- загрузите JDK в папку home (~)
- извлеките 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
Вы устанавливаете 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 работает нормально.
Вот скрипт bash для разработчиков, который устанавливает IDEA так, что вы можете запустить его из оболочки через
idea.sh
Это также:
- проверяет, работает ли операционная система на VirtualBox
- если он работает на VirtualBox, проверяет, настроен ли IdeaProjects для совместного использования
- Если да, то записывает команду монтирования в сценарий начальной загрузки для автоматического монтирования проектов с хоста на гостевой
- также создает скрипт для монтирования и размонтирования проектов idea на лету
#!/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