Как настроить и использовать внутренний репозиторий Maven? - PullRequest
0 голосов
/ 11 декабря 2010

Всем доброго времени суток.

Я пытаюсь настроить внутренний репозиторий, которым я могу поделиться с некоторыми людьми в локальной сети без доступа к Интернету.До сих пор я установил Archiva на свой локальный компьютер и указал репозиторий на мой ~ / .m2 / репозиторий.Я попросил этих людей настроить свой Maven settings.xml и добавить следующий профиль:

 <profile>
 <id>archiva</id>

 <repositories>
  <repository>
   <id>archiva</id>
   <url>http://mymachine:8087/archiva/repository/internal/</url>
   <releases>
    <enabled>true</enabled>
   </releases>
   <snapshots>
    <enabled>true</enabled>
   </snapshots>
  </repository>
 </repositories>
 <pluginRepositories>
  <pluginRepository>
   <id>archiva</id>
   <url>http://mymachine:8087/archiva/repository/internal/</url>
   <releases>
    <enabled>true</enabled>
   </releases>
   <snapshots>
    <enabled>true</enabled>
   </snapshots>
  </pluginRepository>
 </pluginRepositories>
 </profile>

Я также попросил их установить этот профиль как всегда активный.Однако, когда они пытаются сгенерировать новый проект Java, используя mvn archetype:generate, они всегда получают ошибку.Я действительно забыл, в чем была ошибка, но это было как-то связано с целью.Они могут загрузить банки из Archiva, но поколение все еще не работает.Я также дал им копию каталога архетипов, но он все еще не работает.Чего мне не хватает?

Ответы [ 2 ]

4 голосов
/ 13 декабря 2010

Я установил Archiva на моем локальном компьютере и указал хранилище на мой ~ / .m2 / хранилище

Я думаю, что это неправильная идея. Вы смешиваете две концепции вместе. Archiva - это зарубежный репозиторий, а ~/.m2 - локальный репозиторий. Их следует хранить отдельно, даже если физическая машина одинакова.

2 голосов
/ 11 декабря 2010

Вы знакомы с архетипами?Они являются шаблонами проектов, и вам нужно создать проект архетипа (и mvn deploy его на вашем сервере), чтобы они могли сначала инициализироваться.Затем они будут использовать код, например,

mvn archetype:generate -DarchetypeGroupId=edu.berkeley.cs.sketch -DarchetypeArtifactId=skalch-archetype2 ...

См. Полный пример на ntung.com / mvn .У меня есть пример проекта архетипа здесь (github).Они довольно простые и легко читаемые.Обратите внимание, что проект archetype сам по себе является проектом maven, поэтому верхний уровень pom.xml предназначен для архетипа, а src/main/resources/archetype-resources/pom.xml - это место, куда вы хотите поместить приведенный выше код, ссылающийся на ваш сервер.набрать archetype:create вместо archetype:generate?См. http://maven.apache.org/guides/getting-started/index.html#How_do_I_setup_Maven, если это так.

Кстати, так как Maven использует так много плагинов, удачи вам заставить его работать без подключения к интернету!Вместо этого вы можете попробовать buildr.

...