L'utilisation du package par défaut de Java est-elle une mauvaise pratique?
Oui, ça l'est. Idéalement, les noms de packages devraient être globalement uniques, pour éviter les collisions de noms. L'utilisation du package par défaut rompt cette convention. Il est également impossible d'importer une classe à partir du package par défaut.
Pourquoi existe-t-il des packages sans nom, si c'est une si mauvaise idée? De le JLS §7.4.2 :
Les packages sans nom sont fournis par la plate-forme Java principalement pour des raisons de commodité lors du développement de petites applications ou d'applications temporaires ou au tout début du développement.
Il existe des problèmes à différents niveaux:
Oui, ça l'est. Comme d'autres réponses l'ont indiqué, vous ne pouvez pas charger de classes à partir du package par défaut.
Voir SO réponses:
Comment importer une classe à partir du package par défaut
Comment accéder aux classes Java dans le package par défaut?
Cependant, log4j nécessite que la configuration se trouve dans le package par défaut. C'est la seule chose qui soit raisonnable pour y rester.
Edit: Comme Sean Patrick Floyd et Michael l'ont souligné dans les commentaires, vous pouvez mettre tous les fichiers de configuration dans le package par défaut. Merci à vous deux de me l'avoir signalé.
Oui, ça l'est. Le problème est qu'il n'est pas possible d'importer des classes à partir du package par défaut.