Я использовал Artifactory для настройки локального репозитория на моем сервере, чтобы клиенты могли загружать из него java-пакеты.
Я развернул к нему файл jar, и клиенты смогли получить файл jar с сервера.
В случае, если клиент запрашивает пакет и он не существует в локальном репозитории, локальный репозиторий загружает его из центрального репозитория и кэширует его для дальнейших запросов? Как я могу это гарантировать? И где он хранит эти пакеты? Я не нашел его в своих репозиториях по умолчанию.
И BTW, эта функция включена по умолчанию, или мы должны настроить Artificatory для включения этой функции?
ОБНОВЛЕНИЕ:
Я контролировал журнал запросов и в случаях, когда пакет существует в репозитории, пользователь может его загрузить, а статус запроса GET - 200. Но когда пакет не существует в репозитории, запрос GET будет отвечать на запросы 404, и мы ожидаем, что пакет будет загружен в локальный репозиторий для дальнейших запросов. Но он все еще отвечает 404, что означает, что он не кэширует пакет, а пользователь загружает его из центрального репозитория напрямую, не передавая его через наш локальный репозиторий.
Artifactory отделяет удаленные репозитории от локальных репозиториев. После определения удаленных репозиториев (jcenter предварительно сконфигурирован, поэтому вы можете пропустить этот шаг), доступ к артефактам из соответствующих репозиториев (http://host:port/artifactory/simple/jcenter/
или любой из виртуальных репозиториев jcenter
является частью) приведет к удаленной загрузке. Вы сможете увидеть загруженный артефакт в репозитории jcenter-cache
в обозревателе дерева.
Пожалуйста, найдите минутку, чтобы прочитать документацию по репозиториям, чтобы четко понимать концепцию хранилища и разницу между локальными и удаленными репозиториями.