Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Maven. Как исключить зависимость зависимости ?


Автор: startpoint 4.12.2012, 16:58
У меня есть проект. Он основан на библиотеке ant-1.8.4. И ещё на ant-contrib-1.0b3. Однако ant-contrib сам в качестве зависимости использует ant, но только версии 1.5. После сборки, естественно ничего не работает, пока из project.war (это веб-приложение), а точнее из директории, куда варник был развёрнут не удалишь WEB-INF/lib/ant-1.5
Вопрос - как удалять это джарник на этапе сборки ?

Автор: Kircul 4.12.2012, 18:00
http://stackoverflow.com/questions/6028534/how-to-exclude-dependency-in-a-maven-plugin

Автор: Старовъръ 4.12.2012, 18:09
Вот пример
Код
            <dependency>
                <groupId>org.terracotta</groupId>
                <artifactId>ehcache-probe</artifactId>
                <version>1.0.2</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-jdk14</artifactId>
                    </exclusion>
                </exclusions>                
            </dependency>

Автор: startpoint 4.12.2012, 18:23
Да, спасибо. Вот так работает:
Код

<dependency>
    <groupId>ant-contrib</groupId>
    <artifactId>ant-contrib</artifactId>
    <version>1.0b3</version>
    <exclusions>
        <exclusion>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Для ~/.m2/repository/ant/ant/1.5/ant-1.5.jar

Автор: LSD 4.12.2012, 19:20
Вообще-то для таких целей существует <dependencyManagement> секция. Она позволяет указывать какую именно версию библиотеки надо использовать, если по зависимостям приходит несколько разных или просто не той версии.
Код

<dependencyManagement>
  <dependency>
    <groupId>ant</groupId>
    <artifactId>ant</artifactId>
    <version>1.8.4</version>
  </dependency>
</dependencyManagement>

и кстати в проекте потом можно в зависимостях версию не указывать и она будет менеджится в одном месте.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)