Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько вопросов о Maven 
:(
    Опции темы
Ortega
Дата 1.8.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.11.2005
Где: Харьков, Украина

Репутация: 1
Всего: 6



В процессе изучения Maven возникло несколько вопросов, на которые в Better Builds With Maven ответов не нашел (может, плохо искал?).
Есть: десктопный проект из нескольких модулей. 
Задача: Организовать deploy этого самого проекта с помощью Maven  в связке с Continuum.

Вопросы:
  •  Как в dependency указать, где искать необходимый jar? Или как засунуть jar в репозиторий Maven'а?
  •  Можно ли заставить Maven складывать все jar проекта в одну папку, а все внешние jar - в папку рядом?
  •  Можно ли влиять на содержание манифеста? В частности, указать Main-Class?
Последние два элементарно решаются с помощью ant, но хотелось бы узнать, есть ли другие способы?

И еще просьба к тем, кто Maven использует: поделитесь, пожалуйста, опытом/впечатлениями. Особенно интересует мнение тех, кто переходил от ant к Maven, буде таковые имеются.
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок
PM MAIL WWW ICQ Skype GTalk   Вверх
AntonSaburov
Дата 2.8.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



У меня опыт работы с Maven не очень большой и ответить на твой вопрос у меня не получиться. Но если найдется время и желание поделиться какими-то находками - скажем большое спасибо.
PM MAIL WWW ICQ   Вверх
Nobody
  Дата 6.8.2006, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: 2
Всего: 16



Цитата(Ortega @ 1.8.2006,  16:36)

[*] Как в dependency указать, где искать необходимый jar? Или как засунуть jar в репозиторий Maven'а?

Первый вопрос некорректен. Во поводу второго - с кучей проблем можно и засунуть, но стандартной практикой является создание собственного репозитория.
Цитата(Ortega @ 1.8.2006,  16:36)

[*] Можно ли заставить Maven складывать все jar проекта в одну папку, а все внешние jar - в папку рядом?

Простыми способами нельзя. С другой стороны не очень понятно зачем это хотеть.
Цитата(Ortega @ 1.8.2006,  16:36)

[*] Можно ли влиять на содержание манифеста? В частности, указать Main-Class?
[/LIST]Последние два элементарно решаются с помощью ant, но хотелось бы узнать, есть ли другие способы?

http://maven.apache.org/guides/mini/guide-manifest.html
Цитата(Ortega @ 1.8.2006,  16:36)

И еще просьба к тем, кто Maven использует: поделитесь, пожалуйста, опытом/впечатлениями. Особенно интересует мнение тех, кто переходил от ant к Maven, буде таковые имеются.

Определённо это стоит сделать. Многократно упрощается работа с библиотеками.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Ortega
Дата 8.8.2006, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.11.2005
Где: Харьков, Украина

Репутация: 1
Всего: 6



Цитата(Nobody @  6.8.2006,  16:00 Найти цитируемый пост)
Простыми способами нельзя. С другой стороны не очень понятно зачем это хотеть.

Чтобы создать окончательную сборку, которая уйдет конечному пользователю.

Добавлено @ 09:49 
Цитата(Nobody @  6.8.2006,  16:00 Найти цитируемый пост)
Первый вопрос некорректен. Во поводу второго - с кучей проблем можно и засунуть, но стандартной практикой является создание собственного репозитория.

Допустим, собственный репозитроий создан. Как положить в него jar?
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок
PM MAIL WWW ICQ Skype GTalk   Вверх
Ortega
Дата 8.8.2006, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.11.2005
Где: Харьков, Украина

Репутация: 1
Всего: 6



Вроде разобрался. 
- На веб-сервере (Tomcat) в webapps создал директорию repo
- В settings.xml в качестве зеркала указал http://localhost:8080/repo
Для добавления, например, barbecue-1.1.jar я делаю следующее:
- в директории repo создаю поддиректорию barbecue\barbecue, в которую кладу саму jar.
- в repo\barbecue\barbecue создаю файл barbecue-1.1.jar.pom следующего содержания:
Код

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>barbecue</groupId>
  <artifactId>barbecue</artifactId>
  <version>1.1</version>
</project>

Остается невыясненными два вопроса. Во-первых, как посчитать контрольную сумму файла? Во-вторых, я практически уверен, что этот процесс уже автоматизирован. Действительно ли это так и если да, то каким образом это сделать?

По ходу дела возник еще вопрос: что делать с jar'ками, у которых в имени не указан номер версии? В смысле: как их использовать в dependency?

Это сообщение отредактировал(а) Ortega - 8.8.2006, 15:01
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок
PM MAIL WWW ICQ Skype GTalk   Вверх
Nobody
  Дата 9.8.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: 2
Всего: 16



Цитата(Ortega @ 8.8.2006,  10:46)

Вроде разобрался. 
- В settings.xml в качестве зеркала указал http://localhost:8080/repo

Рекомендую не в settings.xml, а в pom.xml у самого проекта.

Цитата(Ortega @ 8.8.2006,  10:46)

- в repo\barbecue\barbecue создаю файл barbecue-1.1.jar.pom следующего содержания:

Лучше barbecue-1.1.pom

Цитата(Ortega @ 8.8.2006,  10:46)

Во-первых, как посчитать контрольную сумму файла?

В любом *nix'е:
sha1 -q barbecue-1.1.jar > barbecue-1.1.jar.sha1
sha1 -q barbecue-1.1.pom > barbecue-1.1.pom.sha1

Цитата(Ortega @ 8.8.2006,  10:46)

Во-вторых, я практически уверен, что этот процесс уже автоматизирован. Действительно ли это так и если да, то каким образом это сделать?

http://maven-proxy.codehaus.org/

Цитата(Ortega @ 8.8.2006,  10:46)

По ходу дела возник еще вопрос: что делать с jar'ками, у которых в имени не указан номер версии? В смысле: как их использовать в dependency?

Выяснить какой они версии и переименовать smile


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Ortega
Дата 9.8.2006, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.11.2005
Где: Харьков, Украина

Репутация: 1
Всего: 6



Цитата(Nobody @  9.8.2006,  13:10 Найти цитируемый пост)
Выяснить какой они версии и переименовать smile 

Я так и думал.
Nobody, спасибо огромное. Кто-нибудь, у кого есть такая возможность, накиньте, пожалуйста +1 ему к репутации.
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок
PM MAIL WWW ICQ Skype GTalk   Вверх
tux
Дата 9.8.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 11
Всего: 132



Цитата(Ortega @  9.8.2006,  18:22 Найти цитируемый пост)

Nobody, спасибо огромное. Кто-нибудь, у кого есть такая возможность, накиньте, пожалуйста +1 ему к репутации. 

Нет проблем.
PM MAIL Skype GTalk Jabber YIM   Вверх
Nobody
Дата 9.8.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: 2
Всего: 16



Ortega, всегда пожалуйста smile


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Ortega
Дата 10.8.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.11.2005
Где: Харьков, Украина

Репутация: 1
Всего: 6



Цитата(Nobody @  9.8.2006,  13:10 Найти цитируемый пост)
Рекомендую не в settings.xml, а в pom.xml у самого проекта.

А как это сделать?
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок
PM MAIL WWW ICQ Skype GTalk   Вверх
Nobody
Дата 10.8.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: 2
Всего: 16



Код

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  ...
  <repositories>
    <repository>
      <id>slono-repo</id>
      <name>slono-repo</name>
      <url>http://slonopotamus.org/slono-repo</url>
    </repository>
  </repositories>
</project>



--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Ortega
Дата 10.8.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.11.2005
Где: Харьков, Украина

Репутация: 1
Всего: 6



А я только хотел отписаться, что разобрался.  smile 
Спасибо.
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок
PM MAIL WWW ICQ Skype GTalk   Вверх
Ortega
Дата 14.8.2006, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.11.2005
Где: Харьков, Украина

Репутация: 1
Всего: 6



Вроде во всем разобрался, все замечательно собирается и деплоится куда нужно. Остался невыясненным один вопрос. А именно, доставка всей этой рабости конечному пользователю. То есть, мы имеем набор своих jar'ок-модулей плюс некоторое количество внешних зависимостей. Задача - собрать все это в одну кучу, чтобы, грубо говоря, можно было закатать на болванку и скормить заказчику. Натыкался на вариант, когда Maven пакует все зависимостм вместе с самим проектом в один большой jar, но это меня совсем не привлекает. Итак, внимание, вопрос: как добиться всего вышесказанного?
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.