Как правильно указать основной класс при упаковке банки с помощью m2eclipse? - PullRequest
5 голосов
/ 11 июня 2011

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

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

Я немного не решаюсь редактировать pom.xml вручную, потому что я замечаю, что в "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>
  </plugin>

Если я правильно понимаю, необходимо изменить Эффективное 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 (кроме вкладки Effective POM).

1 Ответ

3 голосов
/ 18 июня 2011

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

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

...