Mvn site не работает

Создание сайта средствами мавена

Уже довольно долгое время использую мавен как инструмент для сборки проектов. Инструмент этот очень интересный и модный. Он особенно популярен среди java разработчиков хотя может быть полезен и в других областях. Так вот, сейчас я хотел бы рассказать о том, как можно с его помощью создать сайт. Не знаю для чего это может пригодиться вам, я пользуюсь этим для создания документации к проектам. В этой статье я попытаюсь создать html страницу содержащую текст из этой статьи и выглядещей как обычная статья на хабре.

Сайт для проекта создается с помощью простой команды:

По умолчанию в результате выполнения этой команды для пустого проекта создается стандартный набор html страниц: index.html, dependencies.html, integration.html… Это отчеты созданные плагином maven-project-info-reports-plugin. Их можно отключить либо добавить настроив reporting секцию в pom.xml. Но не буду углубляться в эту тему, так как хочу рассказать про другую особенность мавена — добавление своего контента и настройка внешнего вида создаваемого сайта.

Настройка проекта

В этом примере явно заданы кодировки исходного текста(inputEncoding) и результирующей страницы(outputEncoding), а также отключена генерация отчетов(generateReports). Полный список настроек можно посмотреть здесь. Теперь можно переходить к основной части.

Добавление контента

Как видно, кроме исходных текстов здесь также присутствует файл site.xml — дескриптор сайта и папка resource — статические ресурсы сайта, о всем этом позднее, а пока вернемся к созданию контента.

Читайте также:  Не работает предзагрузка genshin impact
Формат APT

Описывает структуру документа используя для этого простые текстовые конструкции, очень сильно напоминает стиль вики. При этом исходный текст выглядит как обычный текстовый файл. Чтобы показать как он работает рассмотрим описание данной статьи с помощью этого формата.

Для начала добавим заголовок. Это опциональный элемент, если присутствует должен находится в начале документа. Обозначается как минимум тремя предшествующими —, после чего следует текст соответствующий заглавию документа. Может быть зактрыт следующими — с добавлением дополнительной информации об авторе и дате. В нашем случае будет выглядеть так:

Добавлю, что рекомендуется использовать дату в формате ISO-8601, т.е. YYYY-MM-DD.

Теперь разобьем документ на более мелкие логически связанные составные части, секции. Заголовки секций обозначаются как обычный текст начинающийся с начала строки, без предшествующих пробелов, символов табуляции и т.д. Поддерживают несколько уровней вложенности, каждый следующий должен начинаться с одного, двух и т.д. символов *. Для простых документов рекомендуется использовать параграфы вместо секций.

Элементы более высокого уровня списка и названия секций автоматически завершают текущий список. Если необходимо закрыть список «вручную» можно воспользоваться символом [].

Также может возникнуть необходимость как-то выделить некоторый текст либо оставить его без форматирования. В области программирования это может быть полезно для выделения исходного кода. Для обозначения используются как минимум 3 символа — без предшествующих пробелов.

Если добавить символ +, то такой текст будет обрамлен.

Ну какой же документ без картинок? Чтобы обозначить картинку необходимо путь к файлу заключить в символы [], которым не должны предшествовать пробелы, после чего может следовать название картинки.

Таблица должна начинаться строкой *— без предшествующих пробелов, строки таблицы должны быть разделены такой же строкой *—. Также следующие символы могут быть использованы для выравнивания текста:

  • * для центрирования
  • + для выравнивания по левому краю
  • : для выравнивания по правому краю

Заголовки колонок можно обозначить с помощью двойного символа |.

Теперь давайте добавим к нашему тексту ссылки на другие ресурсы/страницы/секции этой страницы. Чтобы добавить возможность создания ссылок на секции используются якоря(anchor). Для их обозначения используются одиночные символы <>. По тому, что заключено между ними будет сгенерирован якорь. Замечу, что генерация происходит с заменой пробелов на символы подчеркивания. Для обозначения ссылок используются те же символы, но дважды <<>>. Между ними может находится имя якоря, относительная ссылка на другую страницу этого ресурса или привычная ссылка на другой ресурс. Также можно изменять название ссылки взяв все в двойные <<>> + взять ссылку без названия еще в одни <>.

В итоге мы получим что-то вроде этого:

Добавим еще несколько страниц и можно переходить к настройке внешнего вида.

Настройка внешнего вида

Для того чтобы настроить внешний вид можно сделать 3 вещи:

  • Переопределить CSS стили в site.css под свои нужды.
  • Добавить дескриптор сайта (site.xml). В нем можно задать/добавить основные элементы разметки страницы, также можно настроить меню навигации.
  • Настроить шаблон страницы, в этом случае можно полностью изменить результирующую страницу.
Настройка стилей

Самое простое, что можно сделать, это переопределить CSS стили на нужные нам. Все что надо — создать файл site.css, а дальше уже кто на что горазд. У себя в примере взял за основу стили похожие на те что на хабре.

Настройка дескриптора сайта

В итоге внешний вид сайта поменяется до такого:

За подробностями настройки сюда.

Настройка шаблона сайта

Шаблон сайта это срипт на velocity, который отвечает за преобразование текста в результирующий формат, в нашем случае в html. Здесь много нюансов, поэтому не буду рассматривать его в этой статье, покажу лишь результат того, что у меня получилось:

Источник

Не удалось разрешить артефакт при запуске «mvn deploy site-deploy», но работает нормально, если я разделю команду «mvn deploy», а затем «mvn site-deploy»

Сбой сборки при запуске mvn deploy site-deploy . Но отлично работает, когда я разделяю команду. то есть сначала mvn deploy , а затем mvn site-deploy .

Все эти годы мы использовали команду mvn deploy site-deploy для выполнения наших сборок. Недавно мы перешли на репозиторий Sonatype Nexus, и наша первая сборка не удалась.

  1. Maven 2.2.1 и Sonatype Nexus 2.7.2.
  2. maven.site.plugin 2.1.1 и wagon-webdav-jackrabbit 2.5 в нашем pom-файле.

Мы высоко ценим любые советы или предложения. Спасибо. 🙂

Наш проект состоит из 5 дочерних модулей. В нем говорится, что невозможно устранить артефакт версии 1.00.03. Но артефакт, который, по его словам, отсутствует, в настоящее время строится.

Журналы сборки:

pom.xml родительского проекта:

После обновления ниже я получаю сообщение об ошибке.

  1. От Maven 2.2.1 до Maven 3.2.1
  2. Плагин, maven.site.plugin с 2.1.1 по 3.3
  3. Удлинитель, вагон-вебдав-зайчик 2,5 на 2,6

Сообщение об ошибке:

3 ответа

Я считаю, что проблема вызвана использованием сводного отчета maven-javadoc-plugin. Когда вы запускаете mvn deploy site-deploy как одну команду, жизненные циклы развертывания и развертывания на сайте выполняются по порядку для каждого модуля. В результате модуль реактора (как некоторые говорят, родительский) запускает развертывание, а затем запускает жизненный цикл сайта (maven-site-plugin: 3.3: site (default-site)) до того, как любые другие модули будут скомпилированы / установлены / развернуты. (до того, как будет запущен их жизненный цикл по умолчанию). Как видно из журналов, maven-javadoc-plugin выполняет цель javadoc:aggregate (также известную как report:aggregate ), которая продолжает сбор информации из всех дочерних модулей. К сожалению, поскольку они не построены, происходит сбой.

Эта проблема особенно опасна при запуске release:perform , который выполняет цели deploy site-deploy во время выпуска и не допускает возможность выполнения жизненного цикла deploy до завершения (для всех модулей) как отдельную команду перед запуском жизненного цикла site-deploy . В этом случае вы можете изменить параметр preparationGoals для release:prepare на clean install , чтобы все модули были установлены до запуска release:perform .

Существует также проблема JIRA, которая, по-видимому, описывает проблему: https: //issues.apache. org / jira / browse / MJAVADOC-437 «javadoc: aggregate не работает при начальной сборке» Исправление для этого было включено в версию 2.10.4 плагина. Однако, когда я попытался использовать его, это не устранило эту проблему.

Здесь ответ прямо из документов Maven:

Сайт должен быть создан перед запуском site: deploy.

Если вы хотите создать сайт и развернуть его за один раз, вы можете использовать этап развертывания сайта в жизненном цикле сайта. Для этого просто выполните:

Должна скрываться другая проблема.

— это вызов плагина сайта, вызывающий цель развертывания.

С другой стороны, это этап жизненного цикла сайта — развертывание. Он автоматически создаст сайт, на котором выполняется цель site: site, а затем развернет его.

Вам нужно будет ввести дополнительную информацию из журнала сборки, чтобы увидеть, в чем проблема.

Для начала я бы позаботился о том, чтобы

И дайте нам знать.

И ознакомьтесь с документацией для получения более подробных указателей.

Также, глядя на журналы, кажется, что что-то не так с вашими объявлениями зависимостей между проектами. Доступен ли где-нибудь исходный код этого проекта?

Источник

‘mvn’ не распознается как внутренняя или внешняя команда, работающая программа или командный файл

Может быть, раньше задавали вопрос, но я обнаружил очень странную ошибку. Когда я запускаю команду mvn —version из корзины, она дает версию и другую информацию. Однако, когда я бегу за пределы корзины, возникает исключение. Оба результата упомянуты ниже

Также я установил JAVA_HOME в пользовательской переменной и M2_HOME, M2 в выводе переменной системной среды

Подскажите, где я не прав. Что мне делать после этого?

17 ответов

Моя проблема решена, path не решает %M2% . Когда я добавил местоположение maven-bin в путь вместо %M2% , после этого команды работают.

Хочу поблагодарить всех, кто пытается решить проблему

Эта проблема возникает из-за того, что в вашей ОС нет какой-либо переменной среды, соответствующей установленному maven. Для решения этой проблемы я всегда использую Maven из комплекта Intellij и больше не устанавливаю отдельную версию Maven, чтобы найти путь из комплекта Maven, перейдите к intellij и нажмите Ctrl+Alt+S -> Build, Execution, Deployment -> Build tool -> Maven -> Maven home directory вы можете найти там связанный путь maven для intellij, как показано на изображении ниже.

Затем перейдите к System environment variables и установите эти переменные:

Значение переменной: C: / Program Files / JetBrains / IntelliJ IDEA 2019.3.1 / plugins / maven / lib / maven3

После определения системной переменной MAVEN_HOME найдите путь к переменной и добавьте эту строку в список

Работа сделана, откройте командную строку и проверьте ее, написав mvn -v . 99 процентов времени, когда он работает, если вы находитесь в пределах 1 процента, вам придется перезагрузить компьютер.

Если вы хотите использовать команду mvn из внутреннего терминала intellij, вам необходимо перезапустить intellij после установки переменных среды, тогда у вас не должно возникнуть проблем с запуском команды maven из терминала.

В Windows 10 мне приходилось запускать командную строку Windows (cmd) от имени администратора. Это решило для меня эту проблему.

Прежде всего убедитесь, что у вас работает java или не запускайте эту команду в cmd.

Если он работает, он покажет этот вывод: —

шаг 1. Сначала укажите путь java_home [C: \ Program Files \ Java \ jdk1.8.0_74] в пользовательской переменной.

шаг 2. Затем установите путь MAVEN_HOME [C: \ Program Files \ maven \ apache-maven-3.3.9] в системной переменной и убедитесь, что ваша папка maven должна присутствовать только в папке C.

шаг 3. Затем задайте путь M2 в системной переменной и укажите местоположение maven bin, то есть [C: \ Program Files \ maven \ apache-maven-3.3.9 \ bin].

Шаг 4. Затем установите новую системную переменную, например имя переменной = MAVEN_OPTS in и значение переменной = -Xms256m -Xmx512m.

Шаг 5. Затем отредактируйте переменную пути / системного пути, будьте осторожны, ничего не удаляйте оттуда, просто добавьте путь java_home, т.е. =; C: \ Program Files \ Java \ jdk1.8.0_74 и переменную M2 = ;% M2% в конце.

Шаг 6. Чтобы убедиться, что maven теперь работает или не запускает эту команду в cmd

Если он работает, он покажет такой результат: —

Maven должен быть в системном PATH, если вы хотите запустить его из любого места. добавить% M2_HOME% \ bin в ПУТЬ

Попробуйте эти шаги .

Cmd: mvn -version

Перейти в папку apache-maven> bin

Скопируйте путь и перейдите в Свойства системы> переменные среды> системные переменные

путь> изменить> [вставить путь к файлу]

Затем перезагрузите компьютер.

Я проделал все это в Windows 10, но проблема не исчезла. В конце концов выяснилось, что путь к домашней папке Maven не совсем такой, как ожидалось во многих из этих ответов, поскольку он оказался /apache-maven-3.6.3-bin/apache-maven-3.6.3. Как только я исправил это как для системных переменных, так и для переменной PATH, все заработало. Короче говоря, если вы настроили переменные среды, как указано, и это все равно не сработает, я бы дважды проверил, чтобы убедиться, что переменные действительно указывают на точный путь к домашней папке Maven и папке bin на вашем компьютере.

Я предпочитаю добавлять путь к

/ .bashrc, затем добавьте эти строки:

В Win10 мне помогло следующее.

  • Добавьте %M3_HOME%\bin; в качестве значения переменной пути в пользовательских переменных.
  • Добавьте полный путь к двоичной папке maven в качестве значения переменной для переменной M3_HOME в разделе «Системные переменные».
  • Добавьте %M3_HOME%\bin; в качестве значения переменной пути в разделе «Системные переменные».
  • Нажмите «ОК» там, где это возможно.
  • Закройте существующую командную строку.
  • Откройте новую командную строку и перейдите в двоичную папку Maven.
  • Тип mvn -version

Это будет работать.

Перейдите в Environment Variable и вставьте следующее:

Под системной переменной: Шаг 1: Новый -> Новая пользовательская переменная 1. Имя переменной: MAVEN_HOME 2. Значение_переменной: D: \ apache-maven-3.5.2

Шаг 2: 1. Перейдите по пути -> и вставьте это -% MAVEN_HOME% \ bin

Здесь лучшее руководство по установке Maven-Environment для операционных систем Windows, Unix и Mac.

Но в последнем случае вы должны установить значение переменной PATH как «;%M2_HOME%\bin» вместо «%M2%» , потому что переменная PATH не может уменьшить значение с помощью «% M2%»

Перейдите в оболочку (cmd для Windows) и вручную установите переменную пути оттуда. Часто оттуда работает. Подробнее см. http. : //www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/

Решил эту проблему, сначала создав новую переменную «Путь» в разделе Переменные пользователя (обратите внимание, что после установки свежих окон переменная Путь не создается как переменная пользователя, а только как системная) после этого я добавил% M2% (указывая на maven dir / bin) к (только что созданной) пользовательской переменной Path. после этого перезапустили окно cmd, и оно сработало как шарм.

Чтобы решить эту проблему, выполните следующие действия:

  1. Загрузите zip-файл maven из http://maven.apache.org/download.cgi
  2. Распакуйте zip-файл maven
  3. Откройте переменную среды и в разделе пользовательских переменных нажмите кнопку новая и создайте переменную с именем MAVEN_HOME и присвойте ей значение пути к извлеченному бункеру. молния maven
  4. Теперь в системной переменной нажмите Путь и нажмите кнопку Изменить -> Теперь нажмите кнопку Создать и вставьте bin путь maven zip
  5. Теперь нажмите кнопку ОК .
  6. Откройте CMD и введите mvn -version .
  7. Будет отображена установленная версия Maven, и ваша установка будет завершена.

После установки пути с местоположением корзины Maven закройте окно подсказки и перезапустите его. Используйте команду echo %path% , чтобы убедиться, что путь задан с помощью переменных Maven, затем запустите команду mvn -version . Каким-то образом, если путь установлен, когда окно подсказки запущено, оно не выбирает новые переменные.

Поместите полный путь к mvn в переменную среды PATH .

В Windows 7 я решил, что это разрешено после добавления переменных среды на системном уровне. Если у вас недостаточно прав, попробуйте установить %JAVA_HOME% и %M2_HOME% в системных переменных вместо пользовательских переменных.

Источник

Оцените статью