NetBeans и Maven, как остановить Maven от попыток загрузки? - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь построить существующий проект с использованием Netbeans.IDE и плагины были установлены в системе, которая не имеет и не может иметь доступ к Интернету.

Когда я пытаюсь создать простой проект в IDE, Маван пытается подключиться к Интернету, чтобы загрузить "exec-maven-plugin-1.2.1.pom ", и из-за этого происходит сбой всего процесса сборки.

В настоящее время я создал очень простое приложение, которое имеет одну строку:

    public static void main(String[] args) {
        System.out.println("Hello Simon!");
    }

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Обратите внимание, что сборка с Maven "без Интернета" не тривиальна.Мы сделали это следующим образом:

  • Установите Nexus, который подключен к Интернету, и создайте для него проект.Чтобы получить фиксированные версии плагинов, мы устанавливаем родительский pom, который будет использоваться каждым проектом maven.

  • Скопируйте кэшированные артефакты из сетевого Nexus в автономный экземпляр Nexus.Теперь вы можете подключить Maven к этому автономному Nexus и создать свой проект.Убедитесь, что вы снова используете родительский pom, чтобы все версии плагинов были фиксированными.

Обратите внимание, что если вы «просто строите проект в автономном режиме», сборка завершится неудачей, поскольку «плагин XY отсутствует»».Когда вы загружаете этот плагин и устанавливаете его в свой локальный репозиторий или автономный Nexus, наверняка следующий плагин будет отсутствовать.И так далее.И так далее.Даже для самого маленького проекта Maven без реального Java-кода для правильной работы требуется более 100 файлов из MavenCentral.

0 голосов
/ 28 января 2019

Вы можете использовать ключ -o для запуска maven в автономном режиме.Таким образом, maven будет искать только локальную папку m2.(Я предполагаю, что все ваши зависимости и плагины, необходимые для вашего проекта, находятся в папке m2.) Пример команды mvn -o package

Если вы хотите использовать его из netbeans, вам нужно создать собственные действия.Следующая ссылка объясняет, как это можно сделать.Вы должны выбрать Clean and Build project для Actions и добавить -o к началу раздела Execute Goals.

https://blogs.oracle.com/geertjan/configuring-running-specific-methods-in-maven-projects-in-netbeans-ide

В качестве примечания: Если вы собираетесь разрабатывать приложениетаким образом, внутри команды я предлагаю создать менеджера внутреннего репозитория.Есть несколько бесплатных альтернатив для этого, таких как Artifactory и Sonatype Nexus.

https://maven.apache.org/guides/introduction/introduction-to-repositories.html

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