Задача зависимостей Maven Ant 2.1.3 не работает с фильтром типов - PullRequest
1 голос
/ 22 августа 2011

Я использую библиотеку Maven Ant Tasks для автоматического разрешения зависимостей.Я пытаюсь использовать фильтр "тип" в задаче "зависимости".Задача работает, только если я не добавляю «тип» фильтра.Даже значение по умолчанию «jar» не разрешает никакой зависимости.Удаление фильтра типов выбирает все зависимости, которые составляют около 50, но мне нужно только 4. Я специально хочу выбрать зависимости «ejb-client».Это работает, если я вручную указываю свои зависимости.Ниже два набора кодов.Первый не работает, когда я добавляю «type», второй работает.Может кто-нибудь помочь мне решить это.

    <artifact:dependencies filesetId="dependency.war.lib.fileset" pomRefId="war" type="jar"/>

    <artifact:dependencies filesetId="dependency.war.lib.fileset">
        <dependency groupId="xxxx" artifactId="xxx" version="1.0.0" type="ejb-client" />
    </artifact:dependencies>

1 Ответ

0 голосов
/ 23 августа 2011

Я думаю, вы путаете тип файла и тип POM packaging (это значение, указанное атрибутом type).

Вот что ссылка POM говорит о типе зависимости:

Соответствует типу упаковки зависимого артефакта. Это по умолчанию к банке. Хотя обычно оно представляет собой расширение имени файла зависимость, это не всегда так. Тип может быть сопоставлен с различное расширение и классификатор. Тип часто соответствует используемая упаковка, хотя это также не всегда так. Немного примерами являются jar, ejb-client и test-jar. Новые типы могут быть определены плагины, которые устанавливают расширения в true, так что это не полный список.

Я предполагаю, что, поскольку pomRefId в первой строке имеет значение war, действительное значение для type будет war, а не jar.

...