Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как создать war файл в idea


Как сделать JAR и WAR на IntelliJ IDEA? - intellij-idea

Я хочу разработать новый веб- webservice java для развертывания на AWS Lambda, но я также хочу иметь возможность легко его протестировать.

Моя идея заключается в том, чтобы закодировать мой webservice - Jersey war jar Serverless Java container webservice с помощью Jersey и быть в состоянии собрать его в war файл, так что я могу проверить его, а также, локальным быть в состоянии собрать его в jar для Serverless Java container от AWS.

Моя первая мысль была создать 2 модулей на IntelliJ IDEA 2017.3 Ultimate, один для war и один для jar, все это с помощью Maven, с 2 -х модулей, разделяющих один и тот же базовый код для Jersey REST Resourceswebservice классы). Но, к сожалению, я слишком новичок в IntelliJ IDEA и я не могу заставить это работать.

Есть ли способ достичь этого?

источник

Как создать файл .war в IDEA для развертывания в Liferay? - java

У меня есть источники существующего портлета. Я немного изменил его, чтобы исправить некоторые ошибки, и теперь мне нужно развернуть фиксированные источники в liferay. Я создаю военный файл с использованием опции артефакта и развертываю этот файл войны, как обычно. Но я все еще не могу добавить портлет на страницу, потому что я не вижу его в списке. Что я делаю неправильно?

Я использую Idea 11.1 и liferay 6.0.6, если это важно.

Кажется, проблема с неправильным файлом войны, потому что другие военные файлы (которые я не скомпилировал) были успешно развернуты.

А также, если это важно, я создал военные файлы при создании артефакта и не использовал Ant.


журналы:

09:37:09,430 INFO [PortletAutoDeployListener:71] Copying portlets for D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war Expanding: D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war into D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483 Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF\classes Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF\classes Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\META-INF Copying 119 files to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\webapps\Comply-Activities-portlet Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\webapps\Comply-Activities-portlet Deleting directory D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483 09:37:12,456 INFO [PortletAutoDeployListener:81] Portlets for D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war copied successfully. Deployment will start in a few seconds. 

выглядит при сбое при развертывании. потому что, когда я пытаюсь развернуть действительный портлет, есть дополнительная информация в журналах вроде

09:13:37,874 INFO [PortletHotDeployListener:220] Registering portlets for Comply-Acti


Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками

Уровень знаний, необходимых для понимания статьи: вы уже более-менее разобрались с Java Core и хотели бы посмотреть на JavaEE-технологии и web-программирование. Логичнее всего, если вы сейчас изучаете квест Java Collections, где рассматриваются близкие статье темы. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 1В настоящее время я использую IntelliJ IDEA Enterprise Edition (это платная расширенная версия IDE, её обычно используют в профессиональной разработке, — прим. ред.). В ней гораздо проще работать с веб-проектами, чем в бесплатной Community Edition. Так, в Enterprise Edition буквально по одному щелчку мышки происходит сборка проекта, заливается в контейнер сервлетов, запускается сервер и даже открывается страничка с запущенным проектом в браузере. В бесплатной версии идеи многое из этого пришлось бы делать самостоятельно, так сказать, «ручками». Для сборки проекта и управления его жизненным циклом я пользуюсь Apache Maven. В этом я использовал лишь малую толику его возможностей (управление пакетами/зависимостями). В качестве контейнера сервлетов/сервера приложений (Application server) я выбрал Apache Tomcat версии 9.0.0.М4. Я знаю, что уже есть и более новые версии, но у меня установлена именно эта.

Приступаем

Для начала откроем IntelliJ IDEA и создадим пустой Maven-проект. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 2 Тут слева выбираем Maven, проверяем, чтобы сверху была указана JDK для проекта. Если её нет, выберите необходимую из списка, либо жмите New… и выбирайте напрямую с компьютера. В середине окна у меня крутится анимация загрузки списка архетипов. Нам они не нужны, поэтому, не дожидаясь загрузки, смело клацаете Next внизу окна. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 3 В этом окне необходимо указать GroupId и ArtifactId. Под GroupId подразумевается уникальный идентификатор компании, которая выпускает проект. Обычно принято использовать доменное имя компании, только в обратном порядке. Не в смысле, зеркально, а если, например, доменное имя компании maven.apache.org, то ее GroupId будет org.apache.maven. То есть сначала пишем домен первого уровня, отделяем точкой, пишем имя домена второго уровня, и так далее. Это общепринятый подход. В том случае, если вы «пилите» проект самостоятельно, а не в составе компании, пишите сюда ваше личное доменное имя (тоже в обратном порядке!). Если оно у вас, конечно же, есть:). Если нет — не расстраивайтесь. В действительности сюда можно написать что угодно.
Для компании с доменным именем vasya.pupkin.org, GroupId будет org.pupkin.vasya. Такой подход к именам нужен для того, чтобы отделять проекты с одинаковым названием, но которые выпустили разные компании.
В этом примере я буду использовать вымышленное доменное имя fatfaggy.info.javarush.ru. Соответственно, в поле GroupId я вписываю ru.javarush.info.fatfaggy. ArtefactId — это просто название нашего проекта. Можно использовать буквы и некоторые знаки (дефис, например) для разделения слов. Наш «артефакт» будет называться именно так, как мы тут напишем. В этом примере, я пишу my-super-project. Поле версии пока не трогаем, оставляем как есть. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 4 Ну и стандартное окошко IDEA при создании нового проекта. Назовем его по традиции my-super-project. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 5 Проект создан!
Перед нами сразу открылся файл pom.xml. Это файл, с настройками Maven. Если мы хотим «рассказать» Maven’у, что и как делать или откуда что-то брать, мы описываем всё это в этом самом файле pom.xml. Он находится в корне проекта.
Видим, что в нём указаны сейчас именно те данные, которые мы вводили при создании Maven-прокта: groupId, artifactId и version (последний мы не трогали).

Структура нашего проекта

Этот Maven-проект имеет определенную структуру. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 6 Как видим, в корне лежат:
  • директория .idea, в которой находятся настройки идеи для текущего проекта;
  • директория src, в которой мы создаем наши исходники;
  • файл my-super-project.iml, файл проекта, созданный IDEA;
  • файл pom.xml, тот самый файл Maven-проекта, о котором я говорил чуть выше, который у нас сейчас открыт. Если я буду где-то упоминать pom.xml или «помник», я буду иметь в виду именно этот файл.
В папке src в свою очередь лежат две подпапки:
  • main — для нашего кода;
  • test — для тестов для нашего кода.
И в main, и в test есть папка java. Считайте, что это одна и та же папка, только та, что в main —для кода исходников, а та, что в test — для кода тестов соответственно. Папка resources нам пока вообще не нужна, мы не будем ее использовать. Но пусть полежит.

Превращение в веб-проект

Пришло время наш преобразовать наш Maven-проект в веб-проект. Для этого кликаем правой кнопкой мышки по названию проекта в этом дереве и выбираем пункт Add framework support… Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 7 Откроется окно, где мы можем добавить поддержку всяких разных фреймворков для нашего проекта. Но нам нужен только один: Web Application. Его и выбираем. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 8 Проверяем, что стоит галочка напротив Web Application, а в основной части окна отмечено, что мы хотим, чтобы для нас создали сразу ещё и файл web.xml (рекомендую поставить галочку, если её там нет). После этого мы увидим, что структура нашего проекта пополнилась папочкой web. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 9 Это корень нашего веб-проекта с адресом /. То есть, если мы введем в браузере адрес localhost (когда запустим, конечно же), то это будет обращение именно сюда, в корень веб-проекта. Если введем localhost/addUser, то в папочке web будет искаться ресурс с названием addUser.
Главное, надо понять, что папка web — корень нашего проекта, когда мы его зальем на Tomcat. Сейчас у нас есть определённая структура папок, но в готовом проекте, который мы будем заливать, она будет немного другой, и именно папочка web там будет корнем.
В web лежит обязательная папка с названием WEB-INF, где находится файл web.xml, который мы просили создать на прошлом шаге. Откроем его. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 10 Как видим, в нем пока нет ничего интересного, одна только «шапка». Кстати, если бы мы не просили его создавать, нам бы, возможно, пришлось создавать его вручную, то есть набирать «ручками» всю эту «шапку», или, в крайнем случае искать готовый вариант в интернетах. Для чего нужен web.xml? Для маппинга. Здесь мы распишем для Tomcat, какие url-запросы передавать на какие сервлеты. Но это все позже, пока оставляем его пустым. Ещё в папочке web есть файл index.jsp. Откроем его. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 11 Это файл, который будет выполнен по умолчанию, так сказать. То есть когда мы запустим проект, то именно его и узреем. По сути, jsp — обычный html-файл, с той разницей, что в нём можно выполнять java-код.

Немного про статический и динамический контент

Статический контент — такой, который не меняется со временем. Всё то, что мы написали в html файле написали — то и будет отображаться без изменений. Если мы написали hello world — то эта надпись отобразится и как только мы откроем страничку, и через 5 минут, и завтра, и через неделю, и через год. Она не изменится. Но что, если мы хотим на страничке вывести текущую дату? Если мы просто напишем «27 октября 2017 года» — то и завтра мы увидим такую же дату, и через неделю, и через год. А хотелось бы, чтобы эта дата была все-таки актуальна. Именно тут нам и приходит на помощь возможность выполнять какой-то код прямо внутри страницы. Мы можем получить объект даты, привести его к нужному нам виду и вывести на странице. Тогда каждый день когда бы мы не открыли страничку — дата будет всегда актуальна. Если нам нужен только статический контент — то нам достаточно обычного веб-сервера и html файлов. Никакой джавы, мавенов, томкатов нам и не нужно. Но если мы хотим использовать динамический контент — вот тут то нам все это и пригодится. Но пока вернемся к нашему index.jsp. Давайте укажем вместо стандартного заголовка что-то свое, например «My super web-app!», а в теле напишем например «I'm alive!». Мы уже почти готовы к тому, чтобы запустить наш проект! Но, к сожалению, привычный зеленый треугольничек для запуска программы у нас не активен. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 12 Нажмем на кнопку слева от него (указал на скрине красной стрелочкой) и выберем Edit configurations… Откроется окно, где нам предлагают нажать на зеленый плюсик чтоб добавить какую-то конфигурацию. Нажмем на него, он находится в левом верхнем углу окна. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 13 Выберем пункт Tomcat Server и подпункт Local. Откроется окно со множеством всяческих параметров, но нас почти все устраивает и дефолтное. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 14 Можем как-нибудь красиво назвать нашу конфигурацию вместо стандартного Unnamed (в самом верху). Так же необходимо проверить, что идея успешно нашла томкат у нас в системе (вы же его перед этим уже скачали и установили, да?). Если не нашла (что вряд ли) — нажимаем стрелочку вниз и выбираем где он у нас установлен, ну или же другую версию, если у вас их несколько. У меня он один и уже установлен, поэтому выглядит все так, как на скрине. И в самом низу окна видим, что светится предупреждение, что пока нет ни одного артефакта, предназначенного для деплоя на сервер. А справа от этой надписи кнопочка, которая предлагает этот недочет исправить. Жмем на нее и видим, что идея сама все нашла, сама все создала, чего ей не хватало, и сама все настройки проставила. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 15 Видим, что нас со вкладки Server перебросило на вкладку Deployment, в разделе Deploy at the server startup у нас уже указан артефакт, который надо деплоить, ну а внизу указано, что перед деплоем этот артефакт будет билдиться. Apply, Ok. И видим, что во первых, внизу окна появился раздел с нашим локальным сервером томкат, в который будет помещен наш артефакт. Свернуть этот раздел можно нажав на соответствующею кнопку в правой части окна. Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 16 Так же видим, что зеленый треугольничек для запуска уже активен. Для тех, кто хочет все проверить — можно нажать на кнопку с настройками проекта (справа от кнопок запуска, помечена красной стрелкой), перейти в раздел Artifacts и убедиться, что артефакт действительно создан. Его не было до того момента, пока мы не нажали ту кнопку Fix, но теперь все ок. И такая конфигурация нас вполне устраивает. Если в двух словах чем отличается my-super-project:war от my-super-project:war exploded — так это тем, что my-super-project:war создаст только один файл war (который является просто архивом), а вариант с exploded — это просто «распакованный» war. И именно такой вариант лично мне более удобен, так как позволяет быстрее деплоить мелкие изменения на сервер. По сути, артефакт — это и есть наш проект, только уже скомпилированный, и в котором изменена структура папок так, чтобы его можно было выкладывать уже напрямую на томкат. Выглядеть она будет примерно вот так: Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 17 Ну что ж, теперь все готово для запуска нашего проекта. Жмем заветную зеленую кнопочку запуска и наслаждаемся результатом! :) Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 18

Проект в IntelliJ IDEA | Посов И.А.

Я отдельно хочу обсудить, что такое проект в IntelliJ IDEA и как он устроен. Эти знания помогают решать проблемы, когда IDEA работает неправильно, а программы в ней не запускаются. Практика показывает, что проблемы с IDEA встречаются часто, а преподаватель, который может их решать, не всегда находится рядом.

Как проект устроен на диске

Слева в IDEA вы видите файлы и каталоги проекта так же, как они расположены у вас на диске. Сравните открытый проект и открытый каталог:

Какие файлы и каталоги есть в каталоге проекта:

Каталог src

Это каталог с исходными файлами, именно туда нужно складывать все java файлы, которые вы пишете. src специально помечен для этого синим цветом, если он не синий, значит, с проектом что-то не так, и файлы оттуда запускаться не будут. Мы ниже увидим, где настраивается, в каких папках лежат исходники.

Скопируйте в src все свои программы, которые вы успели написать с начала семестра, если вы это еще не сделали.

В каталог src можно класть только исходные коды, т.е. java файлы. Поэтому убедитесь, что вы не положили туда никаких bat файлов, class файлов, никаких файлов, которые читает или пишет ваша программа.

Каталог out

В каталог out помещаются результаты компиляции программ, поэтому вы видите там файл HelloWorld.class. Этот каталог не является частью проекта, в том смысле, что он не важен для проекта - его можно очистить, и это не помешает проекту работать. При следующем запуске программы, исходники заново скомпилируются, и в этом каталоге появятся свежие class файлы.

Каталог out помечен оранжевым. Если нет, значит опять что-то не так с проектом, и его надо настроить. Про это ниже.

Если вы шлете другу или мне каталог проекта, вы можете сильно сэкономить в размере архива, если не будете помещать в него каталог out.

Каталог .idea

Каталог .idea содержит настройки проекта. Из всех настроек проекта мы пока видели только одну, какой JDK нужно пользоваться. Мы выбирали это при создании проекта.

В качестве упражнения, откройте каталог .idea внутри IDEA, переберите файлы в этом каталоге и найдите, где записано, какое JDK назначено вашему проекту.

Лучше всего этот каталог не трогать и относиться к нему бережно. Это важная часть проекта. Не удаляйте его, не изменяйте вручную его содержимое, перемещайте вместе с каталогом проекта.

Файл .iml

В корне проекта вы найдете файл с расширением .iml и названием, совпадающим с названием проекта. Это файл модуля:

Проект в IDEA состоит из модулей. Они необходимы, если вы разрабатываете большой проект, состоящий из нескольких обособленных частей. Например, у вас может быть веб-проект, где отдельно вы программируете сервер на PHP, а отдельно интерфейс на HTML и JavaScript. Или программа, где часть кода написана на Java, часть на Python. Или же программа настолько большая, что вы разделяете ее на несколько отдельных частей, написанных на Java.

Мы не будем писать таких больших программ, поэтому у нас проекты будут состоять из одного модуля. Ниже мы увидим настройки модуля, когда будем рассматривать настройки проектов.

Относитесь к .iml файлу так же, как и к каталогу .idea, это настройки вашего проекта.

Другие файлы в каталоге проекта

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

Частая ошибка — класть такие файлы в каталог src. Это неправильно, потому что вы не планируете их компилировать.

При запуске программ из IDEA по-умолчанию рабочим каталогом считается каталог проекта, поэтому внутри программ при ссылке на файлы вы должны указывать их относительный путь для каталога проекта:

with open("a.txt", "r", encoding="utf8") as f: pass 

или

try (Scanner in = new Scanner( Path.of("text-files/a.txt"), // или Path.of("text-files", "a.txt") StandardCharsets.UTF_8 )) { //do something } 

КАК IDEA находит каталоги проекта

По каталогу .idea IDEA находит свои проекты. Она считает, что проект — это любой каталог, внутри которого есть подкаталог .idea. Поэтому если вы его сотрете, IDEA перестанет считать ваш проект проектом.

На следующем рисунке показан диалог открытия файла или проекта. Его можно открыть через меню File, пункт Open.

Обратите внимание, что некоторые каталоги на иконке имеют черный квадратик. Это каталоги проектов, у них внутри есть подкаталог .idea. Он может быть невидимым здесь в списке, но он есть.

Если вы в этом диалоге откроете каталог с проектом (с черным квадратом), то вы откроете проект. Если откроете файл, то просто увидите содержимое файла. А вот если откроете каталог без черного квадрата, случится следующее. IDEA создаст проект в этом каталоге. Это очень часто приводит к проблеме, студент думает, что открывает свой проект, но в реальности открывает какой-то другой каталог, например, src внутри проекта. В результате создается новый не настроенный проект, в нем ничего не работает, хотя файлы java с кодом программ видны. Будьте аккуратны.

Если вы поняли, что открыли не тот каталог, закройте проект, откройте правильный каталог с проектом, и сотрите лишний каталог .idea, который образовался из-за неверного открытия.

Диалог Project Structure

Диалог Project Structure с настройками проекта можно открыть кнопкой, которая находится справа сверху:

или через меню File.

В PyCharm или других версиях IDEA аналогичные настройки будут в других диалогах, но все равно где-то будут, и вы сможете найти их при желании.

Первая вкладка слева “Project”:

Здесь мы видим

  1. Имя проекта
  2. JDK, которую вы используете для проекта.

    Проверяйте эту настройку. Часто, особенно при перемещении проекта между компьютерами, здесь либо не указан никакой JDK, либо указан неправильный. Из-за этого код всех программ подсвечивается красным и не запускается.

  3. Language Level. Версия языка. Обычно здесь должна быть версия языка, совпадающая с версией JDK. Но может быть и более ранняя версия. Т.е. вы можете с помощью JDK 14 программировать на Java 8 версии.

    Иногда бывает, что здесь выбрана очень старая версия языка, и вы не можете написать в программе, например, var x = 42, потому что ключевое слово var появилось только недавно в 10 версии Java.

  4. Каталог, куда складываются результаты компиляции. Здесь указан известный нам каталог out.

    Частая проблема — этот каталог не указан, или указывает в несуществующее место.

Вкладка Modules:

Здесь настраиваются отдельно все модули проекта. Как я говорил раньше, у нас практически всегда будет ровно один модуль в проекте. Действительно, на снимке мы видим один модуль Java Posov в списке. Он называется так же, как проект.

Частая проблема: модулей в списке нет вообще, или их в списке слишком много. Для решения удалите лишние модули кнопкой минус над списком модулей или добавьте модуль кнопкой плюс. При добавлении модуля вы должны либо создать новый модуль, этот процесс практически совпадает с процессом создания нового проекта. Либо вы можете “импортировать” уже существующий модуль. Второе работает, когда у вас есть .iml файл, но он почему-то не подключен к проекту.

Настройка модуля

  1. Сверху — название модуля
  2. Ниже — версия языка Java. Выбрано Project Default, что означает такую же версию, как в проекте.
  3. Еще ниже — список каталогов, они помечаются синим — для исходников (sources), оранжевым — исключенные каталоги (excluded), в частности, каталог с результатами компиляции out. Каталог с результатом компиляции всегда считается исключенным из проекта, это невозможно изменить.
  4. Справа указываются Content Root, т.е. корневой каталог модуля со всеми данными. В нашей ситуации одного модуля на весь проект, корневой каталог модуля должен совпадать с основным каталогом проекта. Иногда эта настройка сбивается, и у модуля нет ни одного корневого каталога.

Вкладка Paths. Не привожу фотографию, в ней из интересного только настройка Inherit project compile output path (унаследовать папку с результатами компиляции из настроек проекта). Т.е. мы говорим, что результат компиляции модуля должен попадать в ту же папку, которая указана для проекта, т.е. в папку out.

Вкладка Dependencies.

Это важная вкладка про зависимости, на ней можно добавлять библиотеки, если ваша программа пользуется сторонними библиотеками.

Сейчас здесь указан JDK, который используется модулем. Он указан как Project SDK, т.е. такой же, как у проекта. Ниже в списке указано, что модуль зависит от Java 14 версии и от , т.е. от того кода, который вы пишете сами. Что логично.

Диалог Settings

Диалог находится в меню File. В PyCharm не будет отдельного диалога Project Structure, все настройки проекта, которые мы видели, будут здесь. Здесь есть и все настройки среды разработки. Их очень много, они сгруппированы по разделам, которые можно выбирать слева.

Настройки очень просто искать. Попробуйте, например, установить себе шрифт побольше. Напишите в поиске слева сверху font, и вы увидите все существующие настройки шрифтов. Поймите, какая из них нужна вам, она должна находиться в разделе Editor, и измените себе размер шрифта.

Конфигурации запуска

Еще не готово …

IntelliJ IDEA Руководство по созданию проекта

IntelliJ IDEA и аналогичные ей среды разработки — одни из первых инструментов, которые нужно освоить начинающему программисту. В этом материале рассмотрим установку и настройку ПО, а также порядок создания проекта в IntelliJ IDEA. Создание проекта в IntelliJ IDEA - 1

Что такое IntelliJ IDEA

IntelliJ IDEA — интегрированная среда разработки Java приложений от компании JetBrains. Ее позиционируют как самую умную и удобную среду разработки для Java с поддержкой всех последних технологий и фреймворков. IntelliJ IDEA входит в тройку самых популярных IDE для Java вместе с Eclipse IDE и NetBeans IDE. Сравнение трех сред разработки есть в данном материале о выборе среды для разработки. IntelliJ IDEA хорошо знакома сообществу Javarush. Уже с третьего уровня студенты выполняют задания в IntelliJ IDEA, которая легко интегрируется с курсом. Ученики курса получают практические задания прямо в среде разработки. В ней же студент может отправить выполненное задание на проверку и сразу получить обратную связь.
Чтобы посмотреть, как все устроено, нужно иметь аккаунт на JavaRush — онлайн-курсе по изучению программирования на Java с акцентом на практику: 1200+ задач с моментальной проверкой, мини-проекты, задачи-игры, сотни лекций по основам Java.
Создание проекта в IntelliJ IDEA - 2Хоть IntelliJ IDEA известна как среда разработки для Java, в ней из коробки поддерживаются несколько языков программирования. Кроме того, IntelliJ IDEA интегрирована с рядом современных фреймворков. В данную среду разработки встроены все популярные системы контроля версий и системы сборки приложения. В IDEA реализована поддержка многих серверов приложений. Начиная с шестой версии, IntelliJ IDEA предоставляет интегрированный инструментарий для разработки графического пользовательского интерфейса. У этой среды разработки есть мощные аналитические возможности. Благодаря им эта IDE на лету подсказывает разработчику лучшие варианты кода в текущем контексте. IDEA располагает набором инструментов для рефакторинга существующего кода и быстрого написания шаблонных конструкций.

Условия использования IntelliJ IDEA

Первая версия IntelliJ IDEA появилась в январе 2001 года, и с тех пор компания JetBrains дополняет свое детище новыми фичами и улучшает существующие. Начиная с версии 9.0, IntelliJ IDEA доступна в двух вариантах:
  • Community Edition
  • Ultimate Edition
Community Edition — это свободная версия под лицензией Apache 2.0. Она предназначена для JVM и Android разработки, а также приложений с GUI. Она окажется полезной как начинающим разработчикам для образовательных целей, так и профессионалам для коммерческой разработки. Ultimate Edition доступна под коммерческой лицензией, и в ней поддерживается больше инструментов по сравнеию с Community Edition. Эта версия приложения предназначена для enterprise и web разработки. Она полезна для backend- и frontend-разработчиков. IntelliJ IDEA поставляется для трех платформ: Windows, macOS, Linux. Актуальную версию продукта можно загрузить с официального сайта компании JetBrains. На июнь 2019 года актуальная версия — 2019.1.3. Ниже представлена таблица с различиями между версиями Ultimate Edition и Community Edition.
Поддерживается только в Ultimate Edition Поддерживается в Community Edition и Ultimate Edition
Поддержка языков
  • JavaScript
  • TypeScript
  • SQL
  • CSS, LESS, Sass, Stylus
  • CoffeeScript
  • ActionScript
  • XSL, XPath
  • Ruby, JRuby (через плагин)
  • PHP (через плагин)
  • Go (через плагин)
  • Java
  • Groovy
  • Kotlin
  • Scala (через плагин)
  • Python, Jython (через плагин)
  • Dart (через плагин)
  • Erlang (через плагин)
  • XML, JSON, YAML
  • AsciiDoc, Markdown (через плагины)
Поддержка фреймворков
  • Spring (Spring MVC, Spring Boot, Spring Integration, Spring Security and others)
  • Java EE (JSF, JAX-RS, CDI, JPA, etc)
  • Grails
  • GWT, Vaadin
  • Play (через плагин)
  • Thymeleaf, Freemarker, Velocity, Tapestry
  • Struts, AspectJ, JBoss Seam, OSGI
  • React
  • AngularJS (через плагин)
  • Node.js (через плагин)
  • Apache Flex, Adobe AIR
  • Rails, Ruby Motion (через плагин)
  • Django, Flask, Pyramid (через плагин)
  • Drupal, Wordpress, Laravel (через плагин)
  • Android (включает функциональность Android Studio)
  • Swing (incl. UI Designer)
  • JavaFX
Поддержка систем контроля версий:
  • Team Foundation Server
  • Perforce
  • Git, GitHub
  • Subversion
  • Mercurial
  • CVS
Поддержка инструментов развертывания:
  • Tomcat
  • TomEE
  • Google App Engine and other clouds (через плагины)
  • GlassFish
  • JBoss, WildFly
  • WebLogic
  • WebSphere, Liberty
  • Geronimo
  • Resin
  • Jetty
  • Virgo
  • Kubernetes (через плагин)
Поддержка систем сборки приложений:
  • NPM (через плагин)
  • Webpack
  • Gulp
  • Grunt
  • Maven
  • Gradle
  • SBT
  • Ant
  • Gant
  • Ivy (через плагин)
Другое:
  • Database Tools
  • Diagrams (UML, Dependencies, и т.д.)
  • Dependency Structure Matrix
  • Detecting Duplicates
  • Settings synchronization via JetBrains Account
  • REST Client
  • Darcula (темная тема)
  • Debugger
  • Decompiler
  • Bytecode Viewer
  • Unit Tests Runner (JUnit, TestNG, Spock; Cucumber, ScalaTest, spec2, etc)
  • Интеграция с баг-трекинговыми системами (YouTrack, JIRA, GitHub, TFS, Lighthouse, Pivotal Tracker, Redmine, Trac, и т.д)
Поддержка пользователей:
  • Баг-трекинговая система и форумы

Преимущества InteliJ IDEA

Данная IDE помогает максимизировать эффективность разработчика. Забота об эргономике среды разработки прослеживается в каждом аспекте. Интерфейс среды спроектирован так, что большую часть времени разработчик видит только редактор кода: Создание проекта в IntelliJ IDEA - 3Кнопки, активирующие дополнительные инструменты, расположены на боковых и нижней панелях экрана. Каждый инструмент можно быстро отобразить или скрыть: Создание проекта в IntelliJ IDEA - 4В IntelliJ IDEA практически каждое действие можно выполнить через определенное сочетание клавиш. Разработчик может сам назначать новые и менять старые сочетания клавиш для частых действий. В интерфейсе IntelliJ IDEA в каждой древовидной структуре, списке или всплывающем окне, будь это дерево проекта или же окно настроек среды разработки, есть навигация и поиск. Достаточно сфокусироваться на нужном месте и начать вводить искомый текст: Создание проекта в IntelliJ IDEA - 5IntelliJ IDEA удобна при написании кода и его отладке. Дебаггер IDEA показывает значения переменных прямо в коде. И каждый раз, когда переменная изменяет свое значение, она подсвечивается дебаггером: Создание проекта в IntelliJ IDEA - 6В среде разработки есть несколько тем оформления. По умолчанию доступны две темы — светлая и темная. Начиная с версии 2019.1, темы оформления можно кастомизировать и загружать новые через плагин: Создание проекта в IntelliJ IDEA - 7Создание проекта в IntelliJ IDEA - 8Создание проекта в IntelliJ IDEA - 9

Инструменты для работы с кодом в IntelliJ IDEA

У IntelliJ IDEA есть много инструментов для работы с кодом. Приведем примеры некоторых из них. Используя инструмент Live Templates, разработчик в разы сокращает время на написание часто используемых конструкций кода. Например, для создания метода main достаточно набрать в редакторе psvm и нажать клавишу TAB: Создание проекта в IntelliJ IDEA - 10-> tab ->Создание проекта в IntelliJ IDEA - 11IntelliJ IDEA индексирует и анализирует весь проект, благодаря чему в любое время она способна моментально находить нужные разработчику классы, методы и файлы. В IDEA реализовано несколько поисков, среди которых есть:
  • Поиск класса по имени
  • Поиск файла или директории по имени
  • Поиск по проекту
  • Поиск по модулю
  • Поиск по директории
  • Поиск по области, среди:
    • файлов проекта
    • тестовых файлов проекта
    • открытых файлов
    • недавно просмотренных файлов
    • недавно измененных файлов
    • и т. д.
Также благодаря индексации и анализу всего проекта привычный для разработчиков автокомплит становится на несколько уровней интеллектуальнее. Smart completion (Ctrl+Shift+Space) дает программисту список наиболее релевантных вариантов кода, применимых к данному контексту: Создание проекта в IntelliJ IDEA - 12Chain Completion (Ctrl+Shift+Double Space) проводит более глубокий анализ текущей ситуации и предлагает использовать методы классов или переменных для текущего контекста: Создание проекта в IntelliJ IDEA - 13Функция Static Completion предоставляет список статических полей и методов применимых в данном контексте. Работая в IDEA, программисту не нужно думать об импортах. Среда разработки импортирует нужные пакеты и удаляет из списка импортируемых пакетов ненужные на лету. Помимо прочего, IntelliJ IDEA предоставляет разработчику мощные инструменты для рефакторинга, чтобы быстро реорганизовывать исходный код программы. Все это — малая часть инструментов, которые IntelliJ IDEA предлагает разработчику для работы с кодом.

Недостатки среды разработки

Все вышеперечисленное относится к плюсам IntelliJ IDEA. Однако, как и любой программный продукт, у нее есть и минусы. IntelliJ IDEA разрабатывается с 2001 года. У этого крупного программного продукта — большое количество исходного кода. Как следствие, при работе с IDEA можно наткнуться на баги. IntelliJ IDEA требовательна к ресурсам. По умолчанию она выделяет до 512 Мб на x86 и до 768 Мб на x64. Но порой, например, при крупном рефакторинге, даже этого может быть недостаточно. Стоит сказать, что эти значения могут быть увеличены. Однако при этом IDEA будет сжирать еще больше ресурсов системы. При работе с большими файлами, например, с классами в несколько тысяч строк кода IDEA может заметно подтормаживать. Компания JetBrains регулярно выпускает обновления к IntelliJ IDEA. Очень редко, при обновлении IDEA, может что-то поломаться.

Создание проекта в IntelliJ IDEA

Чтобы создать проект, необходимо нажать в меню File -> New -> Project… Создание проекта в IntelliJ IDEA - 14Далее, в открывшемся окне, нужно выбрать тип проекта. IntelliJ IDEA поддерживает несколько — выбираем Maven в левом боковом меню. В пункте Project SDK выбираем предустановленную версию JDK и нажимаем кнопку Next. Создание проекта в IntelliJ IDEA - 15В следующем окне нужно определить GroupId и ArtifactId для нашего Maven проекта. В поле Version оставим значение по умолчанию — 1.0-SNAPSHOT. Создание проекта в IntelliJ IDEA - 16В следующем окне нам останется определить имя проекта и его расположение в файловой системе. В нашем случае подойдут значения, которые предложила IntelliJ IDEA: Создание проекта в IntelliJ IDEA - 17Все готово — наш проект создан. Создание проекта в IntelliJ IDEA - 18

Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA

Создаем исполняемый jar в Intellij IDEA

Как оказалось, не так то и просто найти в просторах интернета информацию об этом. Есть много ссылок на то, как это делается в Eclipse, а про Intellij IDEA сказано не многим больше нуля. Поэтому я создал этот пост. Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA - 1IntelliJ IDEA дает возможность быстро создавать исполняемый JAR-файл вашей программы, содержащий модули со всеми зависимостями. Для того, чтобы создать JAR, необходимо проделать всего 3 пункта:
  1. Нажмите кнопку ‘+’ в диалоговом окне Project Structure и выберите соответствующий пункт (Рисунок 1):
    Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA - 2Рисунок 1 – Project Structure -> Artifacts -> Jar -> From modules with dependencies
  2. Далее IntelliJ IDEA показывает диалог, позволяющий настроить новый артефакт (Рисунок 2):
    Здесь нужно выбрать главный класс вашего проекта и нажать ОK
    Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA - 3

    Рисунок 2 – Диалог создания нового артефакта JAR
  3. После нажатия клавиши ОК, вы можете создать файл Jar с помощью пункта меню Build -> Build Artifact
    По умолчанию все библиотеки будут извлечены в целевой Jar. Сам исполняемый файл будет сгенерирован в директории out -> artifacts вашего проекта (Рисунок 3):
    Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA - 4

    Рисунок 3 – Месторасположение сгенерированного JAR файла
    Все, теперь исполняемый файл можно запускать.
См. также мои другие статьи:

java - Создание войны с intellij

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

java - Как создать файл .war в IDEA для развертывания в Liferay?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

eclipse - Импортируйте войну в IntelliJ

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

java - Как создавать файлы войны

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

java - как создать файл уха и включить в него файлы war и jar

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
.

maven - Как создать полный файл .war с pom.xml

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для
.

Смотрите также