С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/14: Рейтинг темы: голосов - 14, средняя оценка - 4.50
 Аватар для siriusED
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705

IntelliJ IDEA 2021, Как скомпилировать проект Maven в jar

19.02.2022, 12:12. Показов 2956. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть проект, реализован через фреймворк Maven, при компиляции создаются файлы .class в папке Target (Которой по факту нету на диске), и есть файлы тестов в папке Tests, в одном таком файле есть код функция которая делает то, что мне нужно, как мне из этого всего скомпилировать .jar файл вместо множества .class, что бы я смог из консоли запустить этот jar передав в него строку и вызвать функцию из этого тест файла что бы она мне вернула в консоль результат?

Как это сделать ? Извините в Jaва я не очень силен, первый раз вижу этот Maven.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2022, 12:12
Ответы с готовыми решениями:

Ошибка 404. Проект maven intellij idea jsp + servlet
Создал проект maven в intellij idea jsp и servlet. 2 день не могу разобраться что не так. Пустой проект по сути сервлет не коннектится с...

Не могу скомпилировать проект в Intellij IDEA
Где выбор компиляции в меню (см. скрин) ?

Не полностью создаётся проект в Vaadin с Maven в IntelliJ idea
Нужно создать vaadin проект в intellij idea, по гайдам установил плагин , выбрал проект мавен, добавил архетип ваадин, однако pom создался...

7
Модератор
Эксперт Java
 Аватар для alecss131
2848 / 1356 / 404
Регистрация: 11.08.2017
Сообщений: 4,330
Записей в блоге: 2
19.02.2022, 12:27
XML
1
2
3
4
5
6
7
8
9
10
11
12
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Main-Class>ru.test.App</Main-Class>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
Добавить в pom.xml плагин для сборки в jar в котором прописать главный класс
0
 Аватар для siriusED
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
19.02.2022, 15:15  [ТС]
alecss131, Добавил, сделал фулл ребилд, все сбилдилось, но никакого jar так и не появилось..

Вот репозиторий того что я хочу сбилдить, может будет понятнее.
https://github.com/zhkl0228/unidbg
0
Модератор
Эксперт Java
 Аватар для alecss131
2848 / 1356 / 404
Регистрация: 11.08.2017
Сообщений: 4,330
Записей в блоге: 2
19.02.2022, 16:04
Code
1
mvn package
и на выходе в папке target должен быть jar
0
 Аватар для siriusED
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
19.02.2022, 16:32  [ТС]
Так этот Maven нужно еще ставить дополнительно что ли? Разве IDEA не должна автоматом уметь работать с проектами данного фреймворка? Все настройки в ней присутствуют я уже смотрел...
0
Модератор
Эксперт Java
 Аватар для alecss131
2848 / 1356 / 404
Регистрация: 11.08.2017
Сообщений: 4,330
Записей в блоге: 2
19.02.2022, 16:43
siriusED, Никогда через идею не создавал jar, у меня в системе стоят и maven и gradle, jar всегда создавал через cmd. IDEA для написания кода и запуска в ней. А так вот что нашел

и в папке target после успешного выполнения будет jar
0
 Аватар для siriusED
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
19.02.2022, 18:47  [ТС]
А не все норм, у меня IDE, портабл типа, надо было добавить Maven в переменные среды, нашел, добавил, сбилдил, вроде jar архивы появились, счас буду смотреть что к чему.

Но после того как я добавил этот проект в IDE, и в нем добавил свой модуль и запускал его под дебагом то у меня все время была ошибка
Code
1
2
3
4
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at org.scijava.nativelib.NativeLibraryUtil.<clinit>(NativeLibraryUtil.java:98)
    at com.sun.jna.NativeLoader.isAppleSilicon(NativeLoader.java:27)
    at com.sun.jna.NativeLoader.<clinit>(NativeLoader.java:11)
Работало только если убрать <scope>test</scope>

В корневом .pom файле вот эти депенденсис:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.26</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.26</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
Ну как работало, код отарабатывал, но там по дефолту включался какой-то дебаг, где в консоли нужно все время было вводить "С" что бы продолжилось выполнение, короче бред полный, нужно как то отключить это что бы код просто отрабатывал и все...

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

Добавлено через 1 час 52 минуты
Короче вроде починил дебаг, в IDEA все отрабатывает как надо, но когда запускаю через консоль то получаю вот такое:
Code
1
2
PS D:\_Development\Java\!Projects\unidbg\my-package-module\target> java -jar my-package-module-0.9.6.jar
Error: Could not find or load main class com.mypackage.MyClassMain
Можно как ни будь понять что ему не нравится в моем классе? Ибо я пробовал пустой класс, и он отрабатывает нормально, значит что-то не так в моем классе, но ошибки нету ни какой, как-то можно узнать с консоли в чем проблема во обще?
0
 Аватар для siriusED
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
20.02.2022, 15:18  [ТС]
Разобрался короче в этом фреймворке, у кого будет похожая проблема, используйте Maven модуль:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>main.class.full.path</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
Пакует все в один jar пакет, со семи депенденсами и все работает более, мение, внутри конечно же хаос будет, но если цель просто запаковать то вполне норм.

Добра.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2022, 15:18
Помогаю со студенческими работами здесь

Как сделать jar файл в IntelliJ IDEA
Как сделать jar файл именно из одного или нескольких классов или пакетов? Искал очень много в интернете но то что нужно не нашел.

Как добавить в конфигурацию запуска Maven, среды разработки Intellij Idea - параметр
как добавить в конфигурацию запуска Maven, среды разработки Intellij Idea - параметр -U из командной строки это выглядит так ...

Как в IntelliJ IDEA загрузить компонент JavaBeans из JAR файла
Как вставить в палитру компонент из jar файла? import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import...

Maven build из intellij idea бросает тривиальную ошибку в многомодульном проекте, но как исправлять?
Привет! Собственно, вот ошибка: -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and...

Maven и IntelliJ Idea
Установил Maven в IntelliJ Idea , но при компиляции стороннего кода случаются такие ошибки. (Сам Maven установился, т.к. в командной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru