У меня есть 2 баночки, назовите их a.jar и b.jar.
b.jar зависит от a.jar.
В a.jar я определил класс, назовем его StaticClass. В StaticClass я определил статический блок, вызывая метод с именем "init":
public class StaticClass {
static {
init();
}
public void static init () {
// do some initialization here
}
}
в b.jar, у меня есть основной, поэтому в основном я ожидаю, что метод init() был вызван, но на самом деле нет. Я подозреваю, что это потому, что StaticClass не был загружен jvm, может ли кто-нибудь сказать мне
- Верно ли мое заключение?
- Что запускает jvm для загрузки класса?
- Как я могу заставить статический блок выполняться автоматически?
Спасибо