Declaração de importação sob demanda apenas com subpacotes

Relacionado:Como eu posso compilar "import pack. *" Com ant / javac, quando não existem essas classes?

Suponha que tenhamos a estrutura de pacotes dada

parent
|
---a
---b

onde o pacoteparent contém apenas as duas sub-embalagensa eb (nenhuma classe está sob o pacoteparent).

O códigoimport parent.*, situado em um pacote diferente deparent, compilado com Maven (ou seja,javac) lança um erro de compilação. O erro é:

pai de pacote não existe

Analisei a Especificação da Linguagem Java sobre esse caso (declaração de importação sob demanda em que nenhum tipo é realmente importado).Parágrafo 7.5.2 do JLS sobre declaração de importação sob demanda não parece especificar esse comportamento.

Isso é um bug dejavac? Eu não estou perguntando como contornar o erro de compilação. Eu gostaria de saber porquejavac lança um erro porque não consigo encontrar nenhuma referência no JLS que deveria; levando-me a acreditar que isso pode ser um bug.

Eu testei com o JDK 1.4, 1.6, 1.7 e 1.8, o erro é o mesmo.

Como uma nota lateral, não há erro de compilação com o mesmo código no Eclipse (testado com Eclipse Indigo, Juno, Luna e Mars).

NB: Eu encontrei esse comportamento quando "mavenizing" um projeto (antigo) existente que dependia apenas do compilador do Eclipse. Demorei um pouco para identificar que essa era a causa raiz do erro de compilação que eu estava recebendo.

questionAnswers(1)

yourAnswerToTheQuestion