Pull to refresh

Comments 29

Спасибо автору за проделанную работу! Полезный материал. Ответил на многие вопросы. Но пока остаюсь верным ant. Во-первых, проекты не настолько большые, а во-вторых, скорее всего привычка (возможно плохая :))
Какой раз уже пытаюсь с Maven'ом разобраться. Попробую еще раз… Спасибо, попробую еще раз…
Многие бросают его или намеренно не внедрют с отговорками типа «Ант проще, а здесь долго разбираться», «Моя IDE может сделать так же, даже лучше, а так я потрачу время». В Maven просто надо правильно использовать и тогда для сложноструктурированных проектов он будет протсо сказкой.
Согласен. Главное Maven JAR HELL не сотворить, а внимательно следить за зависимостями сторонних артифактов и в свое время делать <exclusions/>.
сказки разве что на редкообновляемых проектах будут.
а в реальности на ковыряние помов может уходить 5-10% всего рабочего времени.
Да, читал такую, сейчас добавлю в полезные ссылки, спасибо!
автору спасибо! искал как раз таки вот такой мануал.
>>>К сожалению сам не имею большого опыта настройки репозитория, но могу посоветовать как наиболее простой и распространенный Nexus.

Сюда хотел бы добавит ссылки, на еше 2 полезных инструмента:
Artifactory — www.jfrog.org/products.php
Archiva — archiva.apache.org/

Там есть классные демо и интрукции.
Да, кстати Archiva мне лично нравится больше всего, но руководители так не считают, поэтому Nexus :)
UFO landed and left these words here
В последних проектах перешли на мавен.
В качестве прокси репозитария используем Artifactory, проблен пока нет
UFO landed and left these words here
<dependencies>
	...
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-annotations</artifactId>
		<version>3.5.0-Beta-2</version>
	</dependency>
	...
</dependencies>

<repositories>
	...
	<repository>
		<id>JBoss Repository</id>
		<url>http://repository.jboss.org/maven2</url>
	</repository>
	...
</repositories>


Но это — для случая, когда нам нужна распоследняя версия Hibernate. Если же необходимо подключить General Available release, то достаточно указать версию 3.3.2.GA в свойствах зависимости, а дополнительный репозиторий подключать не потребуется.
hibernate-annotationshibernate-core, ошибочка вышла.
UFO landed and left these words here
1. Вбиваем в Google «maven add hibernate»
2. Идём по первой ссылке (у меня это Hibernate.org — Maven Guide)
3. Читаем.
если пользоваться eclipse и m2eclipse, то там есть удобный поиск по части фразы
(Уже написали, но приведу еще примеров.)

Сторонние репозитории обычно описываются в документации на соответствующий продукт. Несколько примеров:

1. Вышеупомянутый Hibernate: читаем Maven Guide (гуглиться по запросу hibernate maven, первая ссылка). Исчерпывающе описано, зачем нужны сторонние репозитории, как подключить и прочее.

2. Многообещающий Seaglass LAF: читаем Seaglass Downloads at Google Code (гуглиться по запросу seaglass laf maven, первая ссылка). По идее, для других проектов, размещенных на Google Code, такая возможность должна существовать.

3. Широко распространенный Spring Framework: читаем Spring Framework Maven Artifacts at SpringSource Team Blog (гуглится по запросу spring maven, вторая ссылка). Ниже в той же статье есть ссылка на Obtaining Spring 3 Artifacts with Maven, где обстоятельно рассказывается, откуда лучше получать Spring.

Понимаю, что Америки не открыл, но тем не менее.
Еще можно поставить плагин m2eclipse. Он периодически обновляет индексы репозиториев и вы в эклипсе можете видеть список доступных артефактов, а также будет автоподстановка доступных артефактов при написании pom.xml.
Описанные способы хороши, когда проект неплохо документирован. Давайте разберем случай когда это не так. Будет искать тот же hibernate, но не знаю ни о какой документации.
1. Идем на mvnrepository.com
2. Вбиваем в строку поиска hibernate-core
3. Нас интересует третий результат — непосредственно hibernate-core — заходим туда
4. Далее выбираем интересующую версию (если версия нужна последняя и мы не собираемся ее указывать в pom.xml, то выбираем любую)
5. Видим ссылку на скачивание самого jar-файла и егое pom.xml чть ниже. Здес же написано, что надо написать в dependensies — копируем к себе в pom.xml
6. Нажимаем View для pom-файла (допустим это «mirrors.ibiblio.org/pub/mirrors/maven2/org/hibernate/hibernate-core/3.3.2.GA/hibernate-core-3.3.2.GA.pom»).
7. Перед нами открывается pom.xml необходимого артефакта.
8. Сразу удаляем из адресной строки название текущего файла и номер версии (никуда не переходим, просто удаляем) — получаем вот такой адрес: «mirrors.ibiblio.org/pub/mirrors/maven2/org/hibernate/hibernate-core/»
9. Последняя папка ВСЕГДА artifactId и ее тоже удаляем, получим «mirrors.ibiblio.org/pub/mirrors/maven2/org/hibernate/»
10. Теперь смотрим в открытом pom.xml groupId текущего проекта (не перепутайте с groupId в разделе parent, обычно они конечно одинаковые, но всякое бывает) — оно у нас «org.hibernate». Опять смотрим в панель адреса и удаляем оттуда «org/hibernate».
11. В результате мы получили адрес «mirrors.ibiblio.org/pub/mirrors/maven2/» — это и есть адрес репозитория, которые можно вбить к себе в проект.

Примечание: Это конечно не репозиторий разработчиков, но в целом iBiblio очень крупный и известный maven-ресурс, поэтому ему можно доверять и последние версии продуктов там появляются очень быстро.
В общем, если вы нашли pom.xml и это не svn, то считайте вы нашли репозиторий.
Мы в проекте используем ivy. Тоже апачевская система, но на мой взгляд, гораздо проще в настройке. Совместима с мавеновскими репозиториями, кстати
Неплохое введение, но не хватает информации о модулях (Modules).
Одно дело — использовать готовые зависимости из внешних источников, и другое — иметь в проекте, например, самописные библиотеки или еще какой-нибудь шарный код, который апдейтится параллельно с зависящимися от него модулями.
P.S. Artifactory, похоже, интереснее Nexus-а, ибо поддерживает также Ivy и Gradle репозитарии.
Ребята, подскажите, если я установил плагин m2e для Eclipse, мне нужно maven скачивать и устанавливать (http://maven.apache.org/download.cgi)? Или плагина достаточно?
Only those users with full accounts are able to leave comments. Log in, please.