Декларация импорта по требованию только с подпакетами

Связанные с :Как мне скомпилировать?импортная упаковка. * " с ant / javac, когда нет таких классов?

Предположим, у нас есть заданная структура пакета

parent
|
---a
---b

где пакетparent содержит только два подпакетаa а такжеb (нет класса под пакетомparent).

Кодimport parent.*расположенный в пакете, отличном отparentсоставлено с помощью Maven (т.е.javac) выдает ошибку во время компиляции. Ошибка:

родительский пакет не существует

Я посмотрел в спецификации языка Java о таком случае (объявление импорта по требованию, когда типы не импортируются).Пункт 7.5.2 JLS в декларации импорта по требованию, похоже, не указывается такое поведение.

Это ошибкаjavac? Я не спрашиваю, как обойти ошибку компиляции. Я хотел бы знать, почемуjavac выдает ошибку, потому что я не могу найти ссылку в JLS, которая должна; заставляет меня поверить, что это может быть ошибкой.

Я тестировал с JDK 1.4, 1.6, 1.7 и 1.8, ошибка та же.

В качестве примечания: в Eclipse нет ошибки компиляции с тем же кодом (проверено с Eclipse Indigo, Juno, Luna и Mars).

NB: я столкнулся с таким поведением, когда "mavenizing» (старый) существующий проект, который полагался только на компилятор Eclipse. Мне потребовалось некоторое время, чтобы понять, что это было основной причиной ошибки компиляции, которую я получал.

Ответы на вопрос(1)

Ваш ответ на вопрос