Выбор архетипа с использованием m2eclipse - PullRequest
5 голосов
/ 16 августа 2011

Я хотел бы создать новый проект Maven в Eclipse, используя архетип с помощью мастера New Maven Project.На шаге «Выбор архетипа» у меня есть три каталога на выбор: Nexus Indexer, Internal и Default Local.Я не понимаю, откуда должно быть содержимое этих каталогов.Если я нажму на кнопку «Настроить», все они будут серыми, и я не смогу их изменить.

Только каталог Internal содержит архетипы, перечисленные в нем.Откуда эти архетипы?Это не из моего локального репозитория Maven, потому что в нем нет группы / артефактов (а архетипы в репо не указаны).

Почему список Nexus Indexer пуст?Я читал некоторые посты о том, что индекс Nexus нужно обновить, но не о том, как это сделать.Отличается ли это от индексов репозитория (которые планируется обновлять ежедневно).

Как видите, меня немного смущает весь бизнес каталога и то, как взаимодействуют Maven, m2eclipse и Nexus.Любые разъяснения приветствуются!

Мои настройки:

  • Затмение: Helios Service Release 2 (идентификатор сборки: 20110218-0911)
  • Apache Maven 3.0.3
  • m2eclipse: 0.12.1.20110112-1712 (настроен для использования внешней установки Maven)
  • Sonatype Nexus ™ Open Source Edition, версия: 1.9.0.2

My localMaven settings.xml выглядит так:

<settings>
  <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://myserver:8080/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>nexus</id>
      <!--Enable snapshots for the built in central repo to direct -->
      <!--all requests to nexus via the mirror -->
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>       
  <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
  <servers>
      <server>
          <id>my-snapshots</id>
          <username>user</username>
          <password>password</password>
      </server>
      <server>
          <id>my-releases</id>
          <username>user</username>
          <password>password</password>
      </server>
  </servers>
</settings>

1 Ответ

0 голосов
/ 10 октября 2011

Каталог архетипов по умолчанию может содержать новые архетипы. Это ручной процесс, вы должны добавить их в пользовательский файл .xml в каталоге ~ / .m2.

Для получения дополнительной информации: http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html

А для справки вот шаблон archetype-catalog.xml

<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog>
  <archetypes>
    <archetype>
      <groupId>com.spedge</groupId>
      <artifactId>archetype-application-custom-filter</artifactId>
      <version>1.0-SNAPSHOT</version>
    </archetype>
  </archetypes>
</archetype-catalog>

Кроме того, вот хорошая ссылка на SO об архетипах: Каковы URL всех каталогов Maven Archetype, о которых вы знаете?

...