Вопрос

Я был длинным пользователем системы Build Build, но я решил начать изучать систему сборки Maven. Пока я прочитал большинство онлайн-документов, никто не дает мне аналогии, которые я ищу. Я понимаю жизненный цикл системы, но я не видел одну ссылку на зависимости от пошагов. Например, я хочу генерировать грамматику JFLEX как часть шага жизненного цикла компиляции. В настоящее время я не вижу способа сделать этот шаг фазы предварительной компиляции. Документация, кажется, ограничена об этом. В целом, концепция пошаговых зависимостей, похоже, запекается в Maven и требует плагина для любых изменений. Это дело? Что мне не хватает, потому что в настоящее время система сборки Maven кажется очень ограниченной в том, как вы можете установить шаги компиляции.

Это было полезно?

Решение

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

Есть даже официальный Плагин Jflex Maven.

По возможности, найдите кого-то, кто сделал плагин Maven сделать то, что вы хотите. Даже если это не правильно на 100%, он может по крайней мере дать вам представление о том, как сделать Maven что-то сделать.

Минимальная конфигурация

Эта конфигурация генерирует код Java анализатора для всех грамматических файлов (.jflex, * .jlex, * .lex, .flex) найден в SRC / Main / Jflex / и его подкаталоги. Название и пакет сгенерированного исходного кода Java являются теми, которые определены в грамматике. Сгенерированный исходный код Java расположен в целевом / сгенерированном источнике / JFLEX, в подкаталах после Java Convence на именах пакетов. Pom.xml.

<project>
  <!-- ... -->
  <build>
    <plugins>
      <plugin>
        <groupId>de.jflex</groupId>
        <artifactId>jflex-maven-plugin</artifactId>
        <version>1.6.0</version>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <!-- ... -->
  </build>
  <!-- ... -->
</project>

Это похоже на пути Maven, чтобы делать вещи. Поместите вещи в правильные папки (SRC / MAIN / FLEX), и этот плагин автоматически построит его в ваш проект. Если вы хотите Делайте фальсифицирующие пользовательские вещи, есть некоторые варианты. Отказ Но Maven все о предпочтительной конвенции о конфигурации.

Другие советы

Чтобы быть Фрэнком, я думаю, что ваша текущая мышная карта намного лучше, чем Maven, и я бы предложил начать с этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top