LINUX.ORG.RU

Maven на все случаи жизни, но...


0

2

начал знакомиться с Maven, так что если наговорю в посте не корректно пожалуйста поправьте.
На сколько понял Maven замечательный скрипт-билдер прожектов который позволяет создать проект максимально переносимым, между различными ИДЕ, посредством сборки и всех необходимых библиотек описаных в POM.xml
Другими словами пропадает головная боль о том что при открытии проэкта в другой ИДЕ потребуется мануально прикручивать необходимые для работы либы. Maven сам всё скачает из своих репозиториев и всё собирёт. Так же мавен предоставляет возможность тестирования проджекта посредством прогонки его черз простые автотесты.
Что пропустил, что можно добавить?

И всё бы казалось хорошо если бы не большое но...
Взялся за изучение Wicket, создал проджект Maven

mvn archetype:generate -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.4.12 -DgroupId=com.company -DartifactId=Fractal

Maven всё сгенерил выкачал, подключил, красота да и только.
Открыл в ИДЕ хелоуворлд работает, всё просто замечательно.
Начал писать код

---

public class AddPersonPage extends WebPage
{
public final class PersonForm extends Form
{
public PersonForm(String s)
{
super(s, new CompoundPropertyModel(new Person()));
add(new FeedbackPanel(«feedback»));
TextField name = new TextField(«name»);
name.add(RequiredValidator.getInstance());
add(name);
TextField email = new TextField(«email»);
email.add(RequiredValidator.getInstance());
email.add(EmailAddressPatternValidator.getInstance());
add(email);
}
public void onSubmit()
{
Person person = (Person) getModelObject();
PageParameters params = new PageParameters();
params.put(«result», person);
redirectTo(newPage(NextPage.class, params));
}
}
public AddPersonPage()
{
add(new PersonForm(«form»));
}
}

---

Сразу стало ругаться на Form

импорнул всё что можно с того что скачал викет, часть проблем разрешилось, но вот RequiredValidator.getInstance()
до сих пор неопределён.
Итак на сколько я понял Maven выкачал все необходимые либы которые были описаны в dependency но среди них не оказалось либы которая содержит RequiredValidator. А ведь это токлько начало..

Вопросы
1) если я не знаю по имени все либы, как быть с POM.xml?
2) если в процессе написания есть неопределённые классы как определить к какой либе именно он относится, затем дописать её зависимость POM.cml и сказать mvn update?

какая IDE?
mvn package тоже не ресолвит?

1) юзать поиск по мавену
2) ну вы же не с потолка берёте эти классы, а следовательно п.1

thevery ★★★★
()
Ответ на: комментарий от thevery

Идея, первый раз взял как раз с потолка :) так я так и не понял, если придётся в проджект добавлять новые либы то другого выхода нет как дописывать POM.xml и mvn -o package ?

linuxorgru
() автор топика
Ответ на: комментарий от linuxorgru

>первый раз взял как раз с потолка
ну значит вам нужен, видимо, изначально несколько другой archetype.

так я так и не понял, если придётся в проджект добавлять новые либы то другого выхода нет как дописывать POM.xml и mvn -o package ?


а что, собственно, вы ожидаете?

thevery ★★★★
()

>name.add(RequiredValidator.getInstance());
name.setRequired(true);

RequiredValidator - это класс из древней версии викета. Пропиши версию викета 1.4.9

Из этой вот статьи http://www.rsdn.ru/article/inet/Wicket.xml Импортироваться я так понимаю должен через мавен.


статья устарела.

JFreeM ★★★☆
()
Ответ на: комментарий от Pi

Ты так говоришь, буд-то я предлагаю прикрутить jar-ку к проекту. Нифига, на жарфаиндере по классу ищещь название жарки, по названию жарки пытаешся угадать артифакт, а его уже прописываешь в pom.xml

dizza ★★★★★
()
Ответ на: комментарий от dizza

я угдаю этот артифакт с трёх классов, а я с двух!!!

linuxorgru
() автор топика
Ответ на: комментарий от linuxorgru

Ну название артефакта проверяешь на http://mvnrepository.com/ Как-то обычно мучаться не приходилось. Пример для ТС: * На жарфаинд находим по названию класса, что нам нужна жарка wicket-1.2.7 * Делаем предположение, что артефакт называется так, же и на mvnrepository находим артефакт wicket, в списке версий находим 1.2.7 * .... * PROFIT!

Правда, как тут уже заметили, версия эта уже устарела.

dizza ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.