Некоторые вопросы о порядке зависимостей модулей в IDEA ⇐ JAVA
-
Anonymous
Некоторые вопросы о порядке зависимостей модулей в IDEA
Дело в том, что я читаю главу о зависимостях сортировки в официальной документации IDEA.
Есть такое описание:
"Порядок зависимостей важен, поскольку IntelliJ IDEA будет обрабатывать их в том же порядке, в котором они указаны в списке."
"Во время компиляции порядок зависимостей определяет порядок, в котором компилятор (javac) ищет классы для разрешения соответствующих ссылок. Во время выполнения этот список определяет порядок, в котором JVM ищет классы."
" р>
o Я создал три модуля (TestModule1, TestModule2, TestModule3) в IDEA и хотел проверить точность приведенного выше текста, изменив порядок загрузки зависимых модулей. Поэтому я загрузил два модуля TestModule2 и TestModule3 как зависимости модуля TestModule1, а затем создал файл A.java в TestModule2 со следующим исходным кодом:
введите Java общественный класс А { public static void main(String[] args) { A.show(B.getInstance()); } public static void show(B b) { MyUtils.getClassName(b.getClass()); } } Затем в TestModule3 был создан новый B.java, его исходный код выглядит следующим образом:
введите Java общественный класс B { общественный статический B getInstance() { вернуть новый B(); } } Затем я создал новый MyUtils.java в TestModule1. Его исходный код выглядит следующим образом:
введите Java общественный класс MyUtils { public static void getClassName(Class c) { System.out.println(c.getName()); } } Затем у меня есть TestModule1 и TestModule3 в TestModule2 в качестве зависимостей. На этом этапе я хочу проверить свою догадку, изменив порядок загрузки! Потому что я знаю, что порядок загрузки классов в пути к классам повлияет на окончательные результаты работы программы, но, к сожалению, независимо от того, как я их настраиваю, моя программа может работать нормально!
Может быть, обработка выполняется после того, как все классы в целевом модуле загружены в путь к классам? Если это так, то какой смысл корректировать порядок загрузки модулей?
Мне нужен проект, который будет достаточно эффективным, чтобы убедиться, что эта функция работает, спасибо~
Дело в том, что я читаю главу о зависимостях сортировки в официальной документации IDEA.
Есть такое описание:
"Порядок зависимостей важен, поскольку IntelliJ IDEA будет обрабатывать их в том же порядке, в котором они указаны в списке."
"Во время компиляции порядок зависимостей определяет порядок, в котором компилятор (javac) ищет классы для разрешения соответствующих ссылок. Во время выполнения этот список определяет порядок, в котором JVM ищет классы."
" р>
o Я создал три модуля (TestModule1, TestModule2, TestModule3) в IDEA и хотел проверить точность приведенного выше текста, изменив порядок загрузки зависимых модулей. Поэтому я загрузил два модуля TestModule2 и TestModule3 как зависимости модуля TestModule1, а затем создал файл A.java в TestModule2 со следующим исходным кодом:
введите Java общественный класс А { public static void main(String[] args) { A.show(B.getInstance()); } public static void show(B b) { MyUtils.getClassName(b.getClass()); } } Затем в TestModule3 был создан новый B.java, его исходный код выглядит следующим образом:
введите Java общественный класс B { общественный статический B getInstance() { вернуть новый B(); } } Затем я создал новый MyUtils.java в TestModule1. Его исходный код выглядит следующим образом:
введите Java общественный класс MyUtils { public static void getClassName(Class c) { System.out.println(c.getName()); } } Затем у меня есть TestModule1 и TestModule3 в TestModule2 в качестве зависимостей. На этом этапе я хочу проверить свою догадку, изменив порядок загрузки! Потому что я знаю, что порядок загрузки классов в пути к классам повлияет на окончательные результаты работы программы, но, к сожалению, независимо от того, как я их настраиваю, моя программа может работать нормально!
Может быть, обработка выполняется после того, как все классы в целевом модуле загружены в путь к классам? Если это так, то какой смысл корректировать порядок загрузки модулей?
Мне нужен проект, который будет достаточно эффективным, чтобы убедиться, что эта функция работает, спасибо~
Мобильная версия