2009-05-10 6 views
2

Я использую хранилище Nexus. и с использованием Eclipse 3.4 с установленным плагином m2eclipse. иногда мне нужно загружать банки, которые не расположены в центральных хранилищах (например, Sun jars). поэтому я загружаю их в разделе «Сторонний» в Nexus. Проблема заключается в том, что при попытке добавить эти банки как зависимости, eclipse не индексирует их, и поэтому они не предлагаются в качестве параметров.m2eclipse Индексирование сторонних банках из хранилища Maven

Любые идеи,

спасибо, Ронен.

ответ

2

Я использую баночки сторонних в моем проекте, используя Nexus, и я могу видеть их с m2eclipse плагин, выполнив следующие действия:

правой кнопкой мыши на проект -> Maven -> Обновление зависимостей

Кроме того, это может быть важно отметить, что я определил следующее в моем pom.xml, а также (не в settings.xml).

<repositories> 
    <repository> 
     <releases> 
      <enabled>true</enabled> 
      <updatePolicy>always</updatePolicy> 
      <checksumPolicy>warn</checksumPolicy> 
     </releases> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
     <id>public</id> 
     <name>Maven 2 Repository (Releases)</name> 
     <url>http://your.domain.com/nexus/content/groups/public</url> 
     <layout>default</layout> 
    </repository> 
    <repository> 
     <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>always</updatePolicy> 
      <checksumPolicy>warn</checksumPolicy> 
     </snapshots> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <id>public-snapshots</id> 
     <name>Maven 2 Repository (Snapshots)</name> 
     <url>http://your.domain.com/nexus/content/groups/public-snapshots</url> 
     <layout>default</layout> 
    </repository> 
</repositories> 

<pluginRepositories> 
    <pluginRepository> 
     <releases> 
      <enabled>true</enabled> 
      <updatePolicy>always</updatePolicy> 
      <checksumPolicy>warn</checksumPolicy> 
     </releases> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
     <id>public</id> 
     <name>Maven 2 Repository (Releases)</name> 
     <url>http://your.domain.com/nexus/content/groups/public</url> 
     <layout>default</layout> 
    </pluginRepository> 
    <pluginRepository> 
     <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>always</updatePolicy> 
      <checksumPolicy>warn</checksumPolicy> 
     </snapshots> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <id>public-snapshots</id> 
     <name>Maven 2 Repository (Snapshots)</name> 
     <url>http://your.domain.com/nexus/content/groups/public-snapshots</url> 
     <layout>default</layout> 
    </pluginRepository> 
</pluginRepositories> 
+0

Сведя в settings.xml может быть лучше, если предположить, один хочет те же репозиториев во всех проектах, которые они работают. – sal

+0

Это потребует от отдельных разработчиков обновить свой файл settings.xml в своей папке .m2. Преимущество их определения в pom.xml заключается в том, что вы можете проверить из SVN и построить без дополнительных шагов. Я также не был уверен, что плагин m2eclipse сможет соответствующим образом перечислить зависимости сторонних разработчиков, если он не был в pom.xml. –

+0

sal, есть пункт. Но точка Тейлора кажется лучше :) Я предпочитаю держать ее в pom.xml – chris

0

settings.xml проще:

<mirror> 
    <id>public</id> 
    <url>http://yourserver/nexus-webapp-1.5.0/content/groups/public/</url> 
    <mirrorOf>*</mirrorOf> 
</mirror>