Как использовать локальный репозиторий Maven для создания образа контейнера вместо центрального репозитория Maven для облака Google - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь создать контейнерное изображение Java-приложения. Зависимости приложения находятся либо в репозитории Jfrog, либо в моей локальной папке .m2, а не в центральной.

Когда я запускаю следующую команду для создания и загрузки образа:

gcloud builds submit --tag gcr.io/[PROJECT-ID]/image-name

Он пытается загрузить зависимости из центрального репозитория, которые недоступны. Я изменил файл settings.xml maven, чтобы он указывал на репозиторий Jfrog, но он все еще не работает. Я считаю, что сначала следует проверить локальный репозиторий .m2, а затем перейти в центральный.

Любое объяснение / решение будет оценено. ТИА

Ответы [ 2 ]

1 голос
/ 04 октября 2019

Чтобы Maven отправился куда-то еще, кроме Maven Central, попросите его использовать зеркало. К сожалению, этого нельзя сделать из командной строки, но это нужно сделать с помощью файла настроек.

Пример ~ / .m2 / settings.xml для указания на экземпляр Nexus 3:

<settings>
    <mirrors>
        <mirror>
            <id>nexus1</id>
            <mirrorOf>external:*</mirrorOf>
            <url>http://nexus/repository/maven-public/</url>
        </mirror>
    </mirrors>
</settings>

Обратите внимание, что "external: *" говорит, что вы все равно должны использовать локальные файловые репозитории, если у вас есть артефакты в вашем дереве исходников, вам нужно Maven для локального разрешения.

0 голосов
/ 04 октября 2019

Maven ищет зависимости только в центральном хранилище. Если вы хотите загрузить зависимости из другого места, вы должны указать его в pom.xml.

<!-- url_of_project --> <dependency> .... </dependency> Локальное хранилище .m2 ищется только первымВерсии SNAPSHOT. Если проект не является SNAPSHOT, изначально выполняется поиск центрального репо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...