Настраиваем рабочее окружение для разработки на Java под Linux

Ну вот, эпоха моего вынужденного эникейства подошла к концу. Снова я в своей струе, занимаясь своей любимой java, правда, все равно с некоторым таким горьким послевкусием. Разрабатывая ПО для банков и до этого периодически отходя к 1С, почему то у меня теперь четкая ассоциация с тем, что пишу туже конфигурацию 1С, но только на джаве. Ладно, хоть мозги снова запущу, деградировавшие на прошлой работе.

Как всегда заведено в программерских конторах, работать приходилось под Линуксом. Почему-то в офисе любимым дистрибутивом оказался Mint, уж с чем такое связано мне не понять. Упрощенный Убунту уж явно путь в никуда, только упрощенный синтаксис apt уже заставляет лениться и потом работая в Debian как-то себя не очень комфортно начинаешь ощущать.

Java на рабочем столе

                   Java на рабочем столе

Ну что поделать, Mint так Mint. Остается лишь настроить для разработки рабочее окружение.

Итак, сама разработка ведется на старой java 1.7, потому как ядро программы написано именно на ней. Поэтому я и решил написать такой небольшой     мануал для тех, кто столкнется с такими небольшими проблемами.

Итак, пишем на java 1.7, используем IntelliJ IDEA  Community в качестве IDE, SQL Developer в качестве управления базами данных, git и maven в качестве сборщика.

Вот тут есть небольшие нюансы, о которых я и хотел рассказать. В Ubuntu и его производные уже входит OpenJDK, что нам в корне не подходит. Ну не совсем они совместимы с оракловой джавой, хоть ты тресни. В итоге его сносим:

sudo apt-get purge openjdk -\*

Все, больше дефолтный jdk нас не беспокоит. Теперь нужно установить нужные нам версии оракловой джавы. Сразу сделаю уточнение – мой стенд работает на джаве 1.7, а вот последняя версия sql developer – на jdk 1.8. Поэтому нам нужно будет установить обе версии. Нам нужно будет подключить нужный оракловый репозиторий, для этого в терминале введем:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java8-installer

На самом деле, здесь я немного сделал не совсем правильный ход, удалив сначала openjdk. Гораздо лучше сначала установить оракловые пакеты, а потом сделать чистку дефолтного пакета, чтобы зависимости не нарушились. Но у меня система была чистая, поэтому я могу так поступить. Вы же делайте на свое усмотрение.
Итак, обе версии джавы установлены в системе. Однако есть одно «но» — при запуске команды java –version вам система покажет, что установлена именно 1.8 в качестве jdk по умолчанию. Лично меня это в корне не устраивает. К счастью, в Debian подобных системах можно легко переключаться между различными версиями джавы всего одной строчкой кода:

sudo update-java-alternatives -s java-7-oracle

Соответсвенно, эта же команда будет для переключения на джава 8, только вместо цифры 7 нужно поставить 8.

Если захотите указать java 1.7 в качестве дефолтной системы, делается это командой:

sudo apt-get install oracle-java7-set-default

Теперь установим Sql Developer. Вот здесь и начинаются пляски с бубном, так как этой среды пока нет в виде deb пакетов. Что ж, выкрутимся таким способом:
1.       Выкачиваем rpm пакет на компьютер.
2.       Теперь при помощи утилиты alien  мы преобразуем скачанный пакет в deb. У меня это версия 4.1.5.21.78, поэтому команда будет выглядеть в моем случае  так:

sudo alien ./sqldeveloper-4.1.5.21.78.noarch.rpm

3.       Установим преобразованный пакет:

sudo dpkg -i ./ sqldeveloper-4.1.5.21.78_all.deb

После этого осталось сделать очень важную вещь – прописать путь для sql developer к jdk 1.8, иначе на 1.7 он у вас просто не заведется. Для этого в файле sqldeveloper.conf нужно раскомментировать строчку с указанием пути до jdk и прописать нужный путь в него. Сохранить и проверить. Студия должна завестись.

Теперь остается установить в систему maven, git и Идею. С IntelliJ IDEA  Community все просто – скачиваем и запускаем start.sh.

maven мы просто поставим стандартными средствами:
sudo apt-get install maven

Проверим, что он нормально установился:

$ mvn -version

git мы поставим таким же способом:

sudo apt-get install git

После этого обновим зависимости:

sudo apt-get update

И перезагрузим систему. Все, на примере моего рабочего окружения для стенда я показал, как настроить весь необходимый инструмент для java разработки. К сожалению, данное руководство весьма поверхностно и здесь не описано множество необходимых  настроек для всего этого инструментария. Но все это нужно делать индивидуально под тот или иной проект. Поэтому тут вы уже сами должны сделать все необходимое. Учтите одно – при разработке на java под любой платформой вам все равно придется часто переключаться между различными jdk. Это абсолютно нормальное явление для этой технологии. Слишком много различного кода написано на старых версиях платформы и его нужно поддерживать и постепенно переписывать.

Еще одно напутствие тем, кто решился изучать этот язык и технологию – непонятно его будущее. Да, вышел jdk 1.9, однако Оракл почему-то не анонсировал выход EE 1.9, а именно интерпрайзовская джава служит локомотивом для  солидной разработки. Тем не менее, язык очень простой. Я серьезно. По сравнению с C++ ява детский лепет. Честно говоря, как по мне, он даже проще C#, так как в нем очень простой и очевидный синтаксис. Тем не менее, я скоро начну серию уроков по java, так что наведывайтесь на мой блог :)

Комментарии

6 коммент. на “Настраиваем рабочее окружение для разработки на Java под Linux”
  1. Dmitriy:

    Спасибо за статьи Вячеслав, с удовольствием читаю. Каждая ваша статья профессиональная. Жду что может быть будет такая рубрика как профессиональный разбор вопросов по С/С++ какие либо крутые советы и т.п.

  2. admin:

    Приятно, что меня еще читают )) На самом деле, профессионализма в статьях практически нет. Часто приходится писать «попсово», чтобы могли прочитать люди, не заморачивающиеся на технических нюансах. В итоге блог годится только для новичков. Суровым технарям здесь мало что будет полезного. Если я буду писать именно профессионально, то у меня вместо 1000 посетителей в сутки, будет, максимум, 10, а то и меньше.
    По поводу c++ и c, то если статьи и будут, то только по программированию под Linux. Хотелось писать и по программированию микроконтроллеров, но, увы, у меня уже давно нет по ним практики. Почти 6 лет. Для Windows же писать уже не о чем. Много написано и без меня. Эти языки стремительно теряют популярность, устроиться с их знанием очень и очень трудно. И хелловорлдщик на java будет в разы больше получать аксакала C/C++. Потому я и писать о них вообще передумал.
    Фактически, иногда встречаю интересное решение, написанное на Cppcms, которую используют как каркас для логики тех же видеорегистраторов и т.д. Но больше особо ничего сказать не могу. Для любителей, которые не работают с ним профессионально за еду в каких-либо НИИ, эти языки -пустая трата времени.

    • Dmitriy:

      Спасибо за ответ. Тогда раз С/С++ пустая трата тогда не подскажешь куда копать, на какие языки программирования смотреть? Python, Ruby, Java-Script, Swift и т.д. Благодарю за ответ.

      • admin:

        Здесь все достаточно просто — нужно просто промониторить хедхантер. И выдаст, стопудово, 1С…

  3. Николаевич:

    Приветствую Вячеслав! Хотелось бы узнать будут ли статьи на сайте и если будут то когда.

    • admin:

      Статьи на какую тему? Писать просто некогда. Скажите, хоть на какую тему статьи хотите увидеть.

Добавить комментарий

Внимание! Не будут добавляться комментарии в виде откровенного спама или прямого анкора на свои сайты. Все спамеры будут передаваться в базу Akismet

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: