Установка идеи на 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 44

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 строку с путем к JDK IDEA_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, вы должны установить вручную или автоматически.

У меня была эта проблема несколько раз...

  1. Добавьте 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