Javaのデフォルトパッケージの使用は悪い習慣ですか?
はい、そうです。理想的には、名前の衝突を避けるために、パッケージ名はグローバルに一意である必要があります。デフォルトのパッケージを使用すると、この規則が破られます。また、デフォルトパッケージからクラスをインポートすることもできません。
名前のないパッケージが存在するのはなぜですか? JLS§7.4.2 から:
名前のないパッケージは、Javaプラットフォームによって提供されます。主に、小規模または一時的なアプリケーションを開発するとき、または開発を開始するときに便利です。
多くの異なるレベルで問題があります:
はい、そうです。他の回答が述べているように、デフォルトパッケージからクラスをロードすることはできません。
SO回答:
デフォルトパッケージからクラスをインポートする方法
default-packageのJavaクラスにアクセスする方法
ただし、log4jでは、構成がデフォルトパッケージにある必要があります。これはそこに保持するのが妥当な唯一のものです。
編集:ショーン・パトリック・フロイドとマイケルがコメントで指摘したように、デフォルトのパッケージに設定ファイルを置くことができます。これを私に指摘してくれた二人に感謝します。
はい、そうです。問題は、デフォルトパッケージからクラスをインポートできないことです。