Maven не удается собрать, если не подключен к корпоративному VPN / частному репозиторию? - PullRequest
0 голосов
/ 27 апреля 2020

С большим количеством людей, работающих в настоящее время из дома и использующих VPN, у меня возникла проблема с использованием maven для личных проектов, в которых не используются связанные с работой артефакты.

В результате чего мне всегда нужно быть подключенным к VPN.

Например, если я создаю новое весеннее загрузочное приложение, оно требует, чтобы я был в VPN, иначе он не сможет собрать должным образом, с такой ошибкой:

Не удалось прочитать дескриптор артефакта для com.hubspot.slack: slack-base: jar: 1.8: Не удалось перенести артефакт com.hubspot.slack: slack-base: pom: 1.8 из / в at-хранилище (https://foobar.jfrog.io/foobar/public): Отказано в доступе: https://foobar.jfrog.io/foobar/public/com/hubspot/slack/slack-base/1.8/slack-base-1.8.pom

Можно ли настроить maven, чтобы попытаться создать его без необходимости для репозитория моей компании?

Или я могу иметь несколько конфигов и способ переключения между ними?

Я понимаю, что это может не сработать для foocompany специфических c артефактов, но не для всего остального.

Это конфиг. xml (отредактированное имя)

    <?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <mirrors>

        <mirror>
            <id>foo-repository</id>
            <url>https://foo.jfrog.io/foo/public</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
    </mirrors>

    <servers>
        <server>
            <id>foo-repository</id>
            <username>deployment</username>
            <password>xxx</password>
        </server>
        <server>
            <id>snapshots</id>
            <username>deployment</username>
            <password>xxx</password>
        </server>
        <server>
            <id>releases</id>
            <username>deployment</username>
            <password>xxx</password>
        </server>
    </servers>

    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>

            <repositories>
                <repository>
                    <id>foo-repository</id>
                    <url>This has to be populated but the URL will be taken from the mirror.</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>

            <pluginRepositories>
                <pluginRepository>
                    <id>foo-repository</id>
                    <url>This has to be populated but the URL will be taken from the mirror.</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
</settings>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...