Intellij невежество на .kt файлов в структуре пакета без инструкции «package ..»? ЗАЧЕМ?

package com.yada.yada 

Что происходит с IntelliJ, когда я создаю Java-класс 'ss' в com.yada.yada без инструкции пакета? – КРАСНЫЙ «Отсутствие заявления о пакете».

Что происходит, когда я создаю файл Kotlin в com.yada.yada без инструкции пакета? – «Продолжайте работать, пока ваша инфраструктура DI не сможет сканировать ваши отпечатки во время выполнения»

Почему проверка IJ пакета не обязательна для Kotlin? Я просто потратил впустую час, пытаясь понять, что случилось с проверкой пакета, только чтобы понять, что это была пробковая пробка. Разве Java Jigsaw в четыре раза увеличит хаос для Kotlin, вызванный такими искаженными файлами / классами без предупреждающих сообщений? Хорошо, вы держите пари!

Пожалуйста, верните заявление «предупреждение» для Kotlin. Методы регистрации / входа в PS не достаточны для того, чтобы я мог получить доступ к Intellij bugtracker (и я действительно разозлился с однократным сбросом пароля доступа, 1000 ресурсов и 980 паролей, которые я не помню или не забочусь), поэтому сделав это общедоступным в stackoverflow.

Если кто-то собирается защищать это поведение, объясните, почему? Может быть, я что-то упустил, иначе ответьте с открытой ошибкой (желательно, кто-нибудь из JetBrains), и я соглашусь с ней.

Недопустимое предупреждение об обнаружении файлов без инструкции пакета является ошибкой; соответствующая проблема YouTrack находится здесь .

Я не уверен, что этот пост уместен здесь, но чтобы ответить на фактический вопрос, официальная документация гласит, что:

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

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

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

Как правило, это не проблема, так как IDE создадут соответствующее объявление пакета для папки, в которой вы создали файл по умолчанию. Я не уверен, как вы создали файл без объявления пакета, если вы используете IntelliJ, если только вы не сделали это в корневой папке src а не внутри папки пакета.