Выполнение этапа после сборки Intellij IDEA CE 2020.3?

#intellij-idea #ant

#intellij-idea #ant

Вопрос:

Я использую IntelliJ IDEA CE 2020.3 для создания простого файла JAR. После сборки я хотел бы скопировать созданный JAR в каталог библиотеки.

Я использую плагин Ant, который поставляется в комплекте с IDE. Кажется, я не могу найти базовые файлы сборки / управления Ant, которые заставляют все это работать. Я предполагаю, что Ant использует XML-файлы, которые являются частью настроек проекта IDE, но это неясно.

В любом случае, есть ли способ добавить шаг «копировать», о котором я упоминал выше? Должен ли я либо использовать встроенный Ant, либо полностью взять его на себя? Могу ли я изменить значение по умолчанию, которое поставляется с IDE?

Комментарии:

1. Разве вы не видите build.xml в проекте? Я бы выбрал решение ant, и вы можете вызвать любую задачу ant из IDE. Вы также можете добавить пользовательский этап сборки в IDE и настроить внешний инструмент, но он будет работать только в IDE.

2. Когда я создаю проект, я просто выбираю стандартное Java-приложение (например, против Maven). Там нет никакого build.xml где угодно. Стандартная сборка, похоже, использует какую-то встроенную конфигурацию Ant. Итак, я хотел бы либо настроить / изменить встроенный, каким-то образом дополнить его, либо добавить пользовательский шаг сборки в IDE. Я не смог найти никакого способа добавить пользовательский шаг сборки, который не был бы связан с Ant. Любые указатели приветствуются. Спасибо!

3. Я думаю, что стандартный java-проект вообще не использует ant. IDE просто выполняет команды для компиляции и, возможно, упаковки классов в jar.

4. Я думаю, что он использует Ant, потому что окно сборки сообщает о выводе Ant. Я только что запустил «стандартный» свежий IDE-проект, и вот несколько строк, которые были выведены… Выполнение задач предварительной компиляции… Загрузка конфигурации Ant… Выполнение задач Ant… Выполнение задач «до»

Ответ №1:

Все,

Итак, после некоторых экспериментов я обнаружил, что если я вручную создам build.xml файл, я могу выполнить шаги после сборки. Для моего примера здесь я создал следующее, простое build.xml и добавил его в каталог проекта IntelliJ верхнего уровня (где находится файл .iml).:

build.xml (созданный вручную)

 <project name="mylib" default="copy-file">
    <target name="copy-file">
        <copy file="out/artifacts/mylib_JAR/mylib.jar" tofile = "./mylib.jar" />
    </target>
</project> 
 

Обратите внимание, что каталоги относятся к каталогу проекта.

IntelliJ IDEA позволила мне добавить задачу копирования файлов для увеличения встроенной сборки по умолчанию. Чтобы настроить свои задачи через IDE, откройте окно инструментов Ant с помощью пункта главного меню View / Tool Windows / Ant.

Я надеюсь, что это кому-то поможет!