Я столкнулся с проблемой в своем исследовании о пакете Java.
окружающая среда
каталоги
Я попытался создать пакет hoge.fuga (только для изучения Java) и поместил файлы в каталоги, как показано ниже.
+ src/
- senario.java //import hoge.fuga.*
- senario.class
- Foo.java //package hoge.fuga
- Bar.java //package hoge.fuga
+ hoge/
+ fuga/
- Foo.class
- Bar.class
Когда я компилирую Senario.java
чехол: я импортирую с import hoge.fuga.*;
ошибка компиляции.
bad source file: .\Foo.java
file does not contain class Foo
Please remove or make sure it appears in the correct subdirectory of the source path.
В этом случае, если я удаляю Foo.java и Bar.java из src /, исходный файл компилируется без ошибок.
чехол: я импортирую с import hoge.fuga.Foo; import hoge.fuga.Bar;
Исходный файл скомпилирован без ошибок.
Интересно, почему поведение компилятора отличается при использовании подстановочного знака?
Мне кажется, только когда я импортирую с подстановочными знаками, компилятор проверяет исходный код в каталоге src /.
Это связано с настройкой Java, такой как classpath или sth?
Я думаю, что это редкий случай, но я просто хотел бы знать, почему это происходит, только когда я использую подстановочный знак.