Запуск модульного Java-приложения, созданного Gradle из IntelliJ IDEA.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Запуск модульного Java-приложения, созданного Gradle из IntelliJ IDEA.

Сообщение Anonymous »

Как запустить класс Java с методом main из Idea в проекте, управляемом Gradle, модульным способом?
Для такого класса

Код: Выделить всё

package org.example.moduledemo;

public class Main {
public static void main(String[] args) {
System.out.printf("Main module %s%n", System.getProperty("jdk.module.main"));
System.out.printf("Main module class %s%n", System.getProperty("jdk.module.main.class"));
System.out.printf("Module name %s%n", Main.class.getModule().getName());
}
}
при модульном запуске с использованием java --module-path '.\build\classes\java\main' --module org.example.moduledemo/org.example.moduledemo.Main , он печатает

Код: Выделить всё

Main module org.example.moduledemo
Main module class org.example.moduledemo.Main
Module name org.example.moduledemo
Однако, когда в контекстном меню редактора идей выбрано «Выполнить 'Main.main()'»
Изображение
,
он ​​создает конфигурацию запуска с путем к классу
Изображение
.
Даже если опция «Использовать путь к классам модуля» не отмечена и конфигурация выглядит так< /p>
Изображение
,
оно по-прежнему вызывает приложение с помощью командной строки

Код: Выделить всё

"C:\Program Files\Java\jdk-23\bin\java.exe" -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp C:\moduledemo-gradle\build\classes\java\main;C:\moduledemo-gradle\build\resources\main org.example.moduledemo.Main
и выходные данные приложения показывают, что оно не запускается по модульному принципу:

Код: Выделить всё

Main module null
Main module class null
Module name null
Макет проекта
Изображение

Вызов действия контекстного меню «Выполнить ...main()» запускает приложение модульным способом, когда проект создается самой Idea (т.е. не управляется Gradle).
Я бы мне нравится продолжать использовать идею «Беги ...main()» из-за его простоты. Мне известны обходные пути, такие как плагин приложения Gradle или задача Gradle exec.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ellij-idea
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»