Как заставить Eclipse перестать запрашивать создание java-файла с информацией о модуле при создании нового проекта Java?

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

IDE для разработчиков Java, выпуск Photon 4.8.0


person AUzun    schedule 04.09.2018    source источник
comment
На второй странице диалога Новый Java-проект есть флажок для создания файла module-info.java. К сожалению, этот флажок установлен по умолчанию и его статус не запоминается. Вы можете сообщить об этом запросе функции в Eclipse.   -  person howlger    schedule 04.09.2018
comment
Как ни странно, это была проблема только при моей новой установке Mac. Используя последнюю версию Windows, мне не нужно было снимать флажок. Не уверен, какой подход лучше, но согласованность между платформами была бы неплохой.   -  person Eric H.    schedule 01.01.2020


Ответы (2)


См. при создании нового проекта, после того как вы нажмете >> далее в самом первом диалоговом окне «новый проект java». Когда вы нажимаете >> Finish, появляется еще одно диалоговое окно. Это приведет вас к третьему диалоговому окну, в котором предлагается создать java-файл с информацией о модуле ?? & дает вам две возможности создать и не создавать. Вы должны выбрать "не создавать".

Вот некоторые преимущества содержимого файла module-info.java: Чтобы объявить файл jar в качестве именованного модуля, необходимо предоставить файл module-info.class, который, естественно, скомпилирован из файла module-info.java. . Он объявляет зависимости в системе модулей и позволяет компилятору и среде выполнения контролировать нарушения границ/доступа между модулями в вашем приложении. Давайте посмотрим на синтаксис файла и ключевые слова, которые вы можете использовать.

  • Модуль module.name — объявляет модуль с именем module.name.
  • Requires module.name — указывает, что наш модуль зависит от модуля module.name, разрешает этому модулю доступ к общедоступным типам, экспортированным в целевом модуле.
  • Требуется транзитивное имя модуля — любые модули, зависящие от этого модуля, автоматически зависят от имени модуля.
  • Exports pkg.name говорит, что наш модуль экспортирует публичные элементы в пакет pkg.name для каждого модуля, требующего этого.
  • Экспортирует pkg.name в module.name так же, как и выше, но ограничивает, какие модули могут использовать общедоступные элементы из пакета pkg.name.
  • Использование class.name делает текущий модуль потребителем для службы class.name.
  • Предоставляет class.name с class.name.impl регистрирует class.name.impl class сервис, который обеспечивает реализацию сервиса class.name. opens pkg.name позволяет другим модулям использовать отражение для доступа к закрытым членам пакета pkg.name.
  • Открывает pkg.name для module.name, делает то же самое, но ограничивает, какие модули могут иметь доступ к отражению для закрытых членов в pkg.name.

Одна из замечательных особенностей синтаксиса module-info.java заключается в том, что современные IDE полностью поддерживают ваши усилия по их написанию. Возможно, все они работали бы прекрасно. Я знаю, что IntelliJ IDEA поддерживает контент, быстро исправляет файлы модулей, когда вы импортируете классы из модуля, который вам еще не нужен, и так далее. Я не сомневаюсь, что IDE Eclipse и IDE NetBeans предлагают то же самое.

person tushar_lokare    schedule 04.09.2018
comment
Что вы скажете тем, кто скажет, что определение зависимостей без семантического управления версиями не имеет смысла? А если быть точным, то в module-info.java нет ключевых слов (module, requires и т. д. не являются ключевыми словами, иначе их нельзя было бы использовать в качестве имен модулей или пакетов). - person howlger; 05.09.2018
comment
Ваш ответ было бы намного легче читать, если бы он был лучше изложен, например. путем разделения на абзацы meta.stackexchange. ком/вопросы/18614/ - person pateksan; 16.11.2019
comment
Какова общая картина стоимости модулей? Следующее не имеет значения для меня, потому что я не понимаю, зачем мне нужны зависимости внутри модулей или что-либо контролируемое: объявляет зависимости внутри модульной системы и позволяет компилятору и среде выполнения контролировать нарушения границ/доступа между модулями в вашем заявление - person Lance Kind; 13.12.2019
comment
Это на самом деле не решает проблему. Я не хочу проходить несколько шагов только для того, чтобы всплывающее окно не появлялось, так как для этого требуется еще большее количество кликов. Я просто хочу ввести имя проекта, нажать Enter, и Eclipse создаст проект, как раньше (не нужно, чтобы промежуточная информация о модуле мешала, и нужно нажать Esc). Это просто раздражает. Преимущества модуля-инфо хоть и полезно знать, но тут вопрос не в том, вопрос в том, как навсегда отключить попап (это вопрос настроек). Пока никак, насколько я могу судить... раздражает каждый день... - person Martin; 27.04.2020

Возможно, это не идеальное решение, но оно перестанет спрашивать, решите ли вы использовать компилятор Java версии 8 (JavaSE-1.8). Если вам нужна более новая версия Java, боюсь, у меня нет ответа.

введите здесь описание изображения

person Martin    schedule 10.05.2020