Netbeans: maven зависимости типа pom
Я потратил много времени, и моя голова взорвалась, поэтому я буду очень благодарен за любую помощь.
Я переношу приложение платформы Netbeans от ant к maven, и поэтому я меняю все банки в моей репозитории контроля версий на зависимости maven. Я нашел необходимый артефакт в основном репозитории maven, и я добавил его как зависимость с помощью Netbeans, но он типа POM и был помещен в Non-classpath Dependencies
, и я понятия не имею, как его использовать, поскольку это wasn ' t добавлено в classpath и т.д.
Может кто-нибудь объяснить, каковы эти зависимости POM и как их использовать?
Спасибо заранее!
ИЗМЕНИТЬ
здесь определение зависимости в pom.xml
<dependency>
<groupId>com.kitfox.svg</groupId>
<artifactId>svg-salamander</artifactId>
<version>1.0</version>
<type>pom</type>
</dependency>
Ответы
Ответ 1
Лично я не могу придумать ни одного случая, когда нужно было бы добавить зависимость типа pom
. Обычно я использую упаковку pom
для родительского модуля в проекте (укажите общую конфигурацию проекта, такую как версии плагина, общие зависимости, например, log4j
, например, репозитории, свойства и т.д.) И для модуля служебных пакетов (тот, который собирает проект и делает некоторые другие необходимые вещи).
Судя по моему опыту (я делал это несколько раз), при переносе проекта из ant в maven вы должны взять все файлы jar, на которые ваш проект зависел, и преобразовать их в зависимости от maven (groupId:artifactId:version
). Скорее всего, у всех этих зависимостей не будет никаких <type>
(например, банок).
Ответ 2
Добавление зависимости pom только уменьшает переходные зависимости, то есть зависимости jar, определяемые как зависимости в pom. По понятным причинам pom не добавляется в classpath, но переходные зависимости, доступные из pom, будут добавлены в путь к классам.
Что вам в идеале нужно сделать, это иметь зависимости типа jar
Тип зависимостей по умолчанию: jar
, и вы можете просто определить зависимости без какого-либо элемента type
в разделе зависимости.
Если вы нашли файлы jar, которые вам нужны в Maven Cental, вам просто нужно предоставить groupId artifactId и версию для каждого из них в разделе зависимостей.