Установка IDEA в Ubuntu 11.10 - PullRequest
       69

Установка IDEA в Ubuntu 11.10

44 голосов
/ 05 декабря 2011

Я пытаюсь установить 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 ]

79 голосов
/ 05 декабря 2011

ОБНОВЛЕНИЕ :

Рекомендуется использовать комплект JetBrains Runtime в Linux для запуска IntelliJ IDEA.На данный момент IntelliJ IDEA требует Java 8 для работы на этой платформе.Возможно переключиться на систему или другую версию Java, пожалуйста проверьте FAQ .


Оригинальный ответ (устарел):

Рекомендуется использовать OpenJDK1.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

для установки в каталог current .

Inside 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.

3 голосов
/ 14 июля 2013

У меня тоже возникает вопрос ... в первый день все работает без проблем, но потом ... я решаю проблему: добавьте в файл idea.sh строку с путем к JDK IDEA_JDK="/opt/java/32/jdk1.6.0_45/"

добавьтепосле 46 строки

3 голосов
/ 05 декабря 2011

Вы можете установить переменную JAVA_HOME и добавить ее к PATH, выполнив следующие действия. В качестве пользователя root откройте /etc/bash.bashrc и добавьте следующее в конец файла.

JAVA_HOME=/usr/lib/jvm/java
export JAVA_HOME

При перезагрузке попробуйте выполнить следующее:

$ echo $JAVA_HOME
2 голосов
/ 06 декабря 2011

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

  1. Добавьте IDEA_HOME / bin в вашу PATH Убедитесь, что JAVA_HOME и другие переменные верны.

затем запустите его из терминала:

$ idea projects-name;

ИЛИ 2: перейдите в корзину IDEA_HOME / и запустите ее оттуда.

2 голосов
/ 05 декабря 2011

если у вас была установлена ​​Java, попробуйте

type java

если вы видите это

java is /usr/java/default/java

тогда вам нужно отредактировать .bash_profile, добавить

export JAVA_HOME=/usr/java/default

затем выполните

source .bash_profile

Если вы не устанавливаете Java, вы должны установить вручную или автоматически.

1 голос
/ 23 ноября 2016

Вы устанавливаете 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 работает нормально.

1 голос
/ 19 марта 2016

На самом деле вы можете настроить JAVA_HOME в bash. Но IDEA использует javac и java из стандартных папок bin. Итак, вы должны настроить так.

  • Загрузка JDK в домашнюю (~) папку
  • распакуйте архив
  • используйте эти команды для перемещения в папку 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
    
0 голосов
/ 09 декабря 2011

Вот скрипт bash для разработчиков, который устанавливает IDEA, чтобы вы могли запустить его из оболочки с помощью idea.sh

Он также:

  • Проверяет, является ли операционная системаработает на VirtualBox
  • Если он работает на VirtualBox, проверяет, настроен ли IdeaProjects для совместного использования
  • Если да, записывает команду монтирования в скрипт начальной загрузки для автоматического монтирования проектов с хоста на гостевой
  • Также создает скрипт для монтирования и размонтирования проектов идей на лету

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