Главная > maven > конвертация проекта для maven

конвертация проекта для maven


Иногда бывает,вот есть у тебя проект,но надо к нему прикрутить maven.И вот казалось бы с такой отличной системой всё должно работать на ура,но не тут-то было.Требуется совершать магические действия и танцы с бубном часами на пролёт,пока не поймешь,что же тут не так,хотя потом всё оказывается достаточно логично и просто) Ну-с,приступим.

За основу я возьму веб-проект написанный вот в этой статье и удалю из него все используемые библиотеки (папка WebContent/WEB-INF/lib)чтобы показать пользу от maven.Он и прост и не требует глубоких познаний. Для того чтобы преобразовать проект в maven-проект,надо всего лишь подключить dependency managment tool. Для этого кликаем по проекту правой кнопкой и далее Maven->Enable dependency managment. maven немного подумает,добавит pom-файл в корень проекта и собственно преобразование можно было бы считать оконченным,если не несколько НО.

во-первых,у нас все ещё нет предварительно удалённых библиотек.Добавим их.
Для этого:

  • кликаем по проекту правой кнопкой далее maven->add Dependency.
  • В появившемся окне окне в поле ввода пишем struts2-core. maven выдаст список подходящих библиотек(в нашем случае должна остаться одна)
  • каждое поле раскрывается в список с доступными версиями библиотек.Если в своём проекте вы использовали не самую последнюю версию и боитесь,что с новой не будет работать,можно сразу выбрать нужную вам версию,либо взять последнюю и потом при необходимости просто поменять версию
  • далее правой кнопкой по проекту Run As->install

и так для каждой библиотеки.Одна из основных особенностей maven в том,что скорее всего библиотека скачается не одна,а в месте с зависимыми библиотеками. В редакторе pom в закладке Dependency Hierarhy вы можете посмотреть все подгруженные  библиотеки и список зависимостей между ними. Наш проект зависит только от одной библиотеки struts2-core которая в свою очередь зависит ещё от нескольких.

далее нам надо зайти в свойства проекта и немного подправить Build Path. П проекту правой кнопкой и в списке выбираем Properties. В появившемся окне в колонке слева выбираем Java Build Path.

  • в первой закладке Source нам надо добавить source folder. Кликаем по кнопке «Add Folder…» и в появившемся списке выбираем папки,в которых у нас лежат классы(в нашем случае это папка src)
  • в третьей закладке нам надо поменять используемую версию jre. Выбираем пункт JRE System Library[J2SE-1.5], в списке слева кликаем по кнопке Edit и в появившемся окне в списке Execution environment выбираем JavaSE-1.6(jre6) 
  • но и на этом ещё не всё. Ява будет видеть библиотеки и эклипс будет корректно подсвечивать используемые библиотеки и пакеты,но при запуске на сервере будут проблемы,так как используемые библиотеки не будут импортироваться в war-файл перед развёртыванием на сервере. Для этого нам надо отметить какие библиотеки подключать при импортировании. В четвёртой вкладке Order and Export нам достаточно пометить Maven Dependencies и JRE System Library.
  • Если и теперь не работает,то скорее всего надо указать какой именно репозиторий использовать для загрузки библиотек. В закладке Markers(находится там же де и закладка Console) развернём список Classpath Dependency Validator Message и выделив элемент нажмём Ctrl+1 (Quick Fix). Нажмём Finish

Теперь всё должно работать.Если не работает,проверяем dependencies проекта и их версии. На этом всё)

Рубрики:maven
  1. Комментариев нет.
  1. No trackbacks yet.

Оставьте комментарий