Я всегда считал classpath само собой разумеющимся, то есть - это то, что затмение, maven, ant и т. Д. Обрабатывали для меня.Очевидно, что путь к классам - это место, где Java «ищет» двоичные классы, которые выполняются / интегрируются с приложением.
Тем не менее, есть некоторые сложности, которые четко не описаны.
1) Как Java "находит" классы в classpath?
2) Как javac обрабатывает столкновения при просмотре пути к классам?
3) Что происходит "под капотом", когда такие инструменты, как maven / ant добавляют / игнорируют элементы в classpath?Эти инструменты просто оборачивают программу javac?
4) Наконец: есть ли пример "сложной" сложной сборки для java, которая не использует современное поколение инструментов сборки - только для образовательных целей - что доступно?