Maven — это программа, которая обрабатывает зависимости проекта (это много вещей, но это ее самая важная функция для вас).
В вашем случае Maven знает, что вашему проекту требуется артефакт gt-shapefile
(термин Maven для банок и подобных им вещей), потому что вы так сказали. Но Maven будет искать pom.xml
файл для gt-shapefile
и узнаете, что ему также нужны gt-data
, gt-referencing
и jdom
. Затем он просматривает POM для каждого из их и обнаруживает дополнительные зависимости, пока не соберет полный набор.
Как только Maven выяснит все необходимые библиотеки, он может выполнить сборку (таким образом, как Ant или ваша IDE, запускающая компилятор Java). Как только код скомпилирован (или упакован, если у вас есть Maven для создания jar), Maven готов и не имеет ничего общего с готовым продуктом.
Swing — это стандартная графическая библиотека. Это зависимость во время компиляции, если вы пишете код, который использует его классы, и когда вы запускаете этот код позже, Java нужно будет найти связь с классами Swing.
Итак, для терминологии: вы можете описать проект с помощью Maven, Ant или NetBeans (который является слоем на Ant) или Eclipse. Вы можете использовать любой из этих инструментов построения проектов для компиляции кода, использующего классы Swing. На самом деле, поскольку классы кода Swing являются частью стандартной библиотеки, вам вообще не нужно упоминать какие-либо jar-файлы для работы с Swing.
Хорошо, теперь о вашем вопросе.
Один из вариантов для вас - просто использовать Maven. Преобразуйте существующее приложение в проект Maven, скопировав его файлы в структуру в стиле Maven. Есть страница по использованию Maven с NetBeans, которая может помочь. По сути, исходный код Java для приложения находится в src/main/java
(оттуда начинаются каталоги с именами пакетов), элементы, не относящиеся к коду (например, файлы изображений), — в src/main/resources
, а материалы, связанные с модульными тестами, — в src/test/java
и src/test/resources
. Если ваше приложение простое, это не должно быть слишком сложным, и вы можете найти Maven удобным в использовании.
Если ваш проект сложен или используется совместно с людьми, которые не используют Maven, или вам это просто не нужно, вам следует выяснить, какие зависимости вам нужны. Я предполагаю, что для этих инструкций у вас установлен Maven и вы находитесь в оболочке Unix.
Перейдите в корневой каталог проекта Geotools на основе Maven (каталог, содержащий его pom.xml
). Вы можете скопировать все зависимости с помощью команды
mvn dependency:copy-dependencies -DoutputDirectory=jars
Это создаст подкаталог с именем «jars», содержащий все jar-файлы, необходимые для сборки проекта (включая транзитивные зависимости). Теперь просто свяжите эти jar-файлы с существующим приложением (или убедитесь, что они уже связаны).
Если вам интересно, вы можете запустить
mvn dependency:tree
и Maven напечатает для вас дерево зависимостей в текстовом виде, чтобы вы могли понять, зачем нужна каждая банка.
person
Nathaniel Waisbrot
schedule
08.06.2013