Как правильно указать основной класс при упаковке jar с помощью m2eclipse?

Проблема: я хочу указать основной класс в файле jar, который я упаковываю с помощью m2eclipse: [щелчок правой кнопкой] -> Запуск от имени -> Пакет Maven. Я все еще изучаю Maven, и из того, что я прочитал, прямой способ выполнить эту задачу — добавить строфу в pom.xml.
Вот примеры, которые я нашел, когда исследовал эту проблему:

У меня такой вопрос: можно ли вручную редактировать файл pom.xml вне Eclipse/m2eclipse с помощью текстового редактора или мне следует выполнять эту настройку с помощью графического интерфейса m2ecplise? Есть несколько диалоговых окон с вкладками, которые кажутся вероятными кандидатами для этой задачи, например «Плагины» и «Сборка». Я просмотрел документацию Sonatype и не смог найти подробных инструкций о том, как выполнить то, что мне нужно.

Я немного не решаюсь редактировать pom.xml вручную, потому что я заметил, что в «Эффективном POM» уже есть много дополнительных вещей, включая определение плагина, которое необходимо добавить к нему:

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
      <execution>
        <id>default-jar</id>
        <phase>package</phase>
        <goals>
          <goal>jar</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

Если я правильно понимаю, Effective POM нужно изменить, чтобы плагин был настроен так:

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
      <execution>
        <id>default-jar</id>
        <phase>package</phase>
        <goals>
          <goal>jar</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
    <archive>
    <manifest>
         <mainClass>[name of main class]</mainClass>
         <packageName>[package name]</packageName>
    </manifest>
        <manifestEntries>
            <mode>development</mode>
            <url>${pom.url}</url>
    </manifestEntries>
    </archive>
    </configuration>
  </plugin>

Это правильно? И если да, то сделать ли это через m2eclipse или просто скопировать все дополнительные материалы Effective POM и вставить их в фактический pom.xml с помощью текстового редактора?

Спасибо всем, кто может пролить свет.

ОБНОВЛЕНИЕ: я пошел дальше и вручную отредактировал файл pom.xml в текстовом редакторе. Когда я просматривал Effective POM в m2eclipse, он отображал все, что я вставлял (я полагаю). Я построил банку, и основной класс был правильно установлен.

Хотя мне это кажется взломом. Кто-нибудь знает, есть ли способ сделать эту конфигурацию с помощью самого m2eclipse? Я проверил вкладки m2eclipse, и, похоже, ничего не было обновлено в результате моих ручных правок pom.xml (кроме вкладки «Эффективный POM»).


person David    schedule 10.06.2011    source источник


Ответы (1)


m2eclipse не делает все за вас, т. е. нет красивой вкладки пользовательского интерфейса для обработки всего.

Моей команде удобнее всего редактировать POM вручную и использовать другие вкладки для проверки (например, представление «Эффективный POM»).

person John Duff    schedule 17.06.2011
comment
Привет, Джон, спасибо, это то, что мне нужно было знать. Сейчас я начинаю изучать Maven и буду делать большую часть своих конфигураций вручную. Приятно осознавать, что я ничего не упустил и не взломал файлы, которые не предназначались для прямого редактирования. - person David; 29.06.2011