Почему игра не исключает мою зависимость? - PullRequest
1 голос
/ 19 декабря 2011

Файл моего deps:

- org.hibernate -> hibernate-core 3.6.8.Final:
    force: true
    exclude:
        - ant -> ant 1.6.5

- org.apache.ant -> ant 1.8.2

(Обратите внимание, что муравей, которого я пытаюсь исключить, принадлежит к группе ant, в то время как муравей, которого я включаю, относится к org.apache.ant - к сожалению, группа ant пока не содержит муравья 1.8.2 ).

Когда я запускаю play deps, я обнаруживаю, что исключение не вступает в силу, и я получаю обе версии ant в своей папке lib.

Выходные данные play deps --sync --debug здесь здесь . Любой совет, как решить эту проблему? Вот более короткий вывод без --debug:

~ Resolving dependencies using C:\work\CS\portal\src\conf\dependencies.yml,
~
~   org.hibernate->hibernate-core 3.6.8.Final (from mavenCentral)
~   javax.validation->validation-api 1.0.0.GA (from mavenCentral)
~   ant->ant 1.6.5 (from mavenCentral)
~   javassist->javassist 3.12.0.GA (from mavenCentral)
~   cglib->cglib 2.2 (from mavenCentral)
~   asm->asm 3.1 (from mavenCentral)
~   org.apache.ant->ant 1.8.2 (from mavenCentral)
~   org.apache.ant->ant-launcher 1.8.2 (from mavenCentral)
~
~ Some dependencies have been evicted,
~
~   hibernate-core 3.6.1.Final is overriden by hibernate-core 3.6.8.Final
~   hibernate-jpa-2.0-api 1.0.1.Final is overriden by hibernate-jpa-2.0-api 1.0.0.Final
~   commons-collections 3.1 is overriden by commons-collections 3.2.1
~
~ Installing resolved dependencies,
~
~   lib/hibernate-core-3.6.8.Final.jar
~   lib/ant-1.8.2.jar
~   lib/validation-api-1.0.0.GA.jar
~   lib/ant-1.6.5.jar
~   lib/javassist-3.12.0.GA.jar
~   lib/cglib-2.2.jar
~   lib/asm-3.1.jar
~   lib/ant-launcher-1.8.2.jar
~
~ *****************************************************************************
~ WARNING: These dependencies are missing, your application may not work properly (use --verbose for details),
~
~   org.jboss.javaee->jboss-jacc-api_JDK4 1.1.0
~ *****************************************************************************
~
~ Some dependencies are still missing.
~
~        _            _ 
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/   
~
~ play! 1.2.x-c40cf37, http://www.playframework.org
~

1 Ответ

3 голосов
/ 19 декабря 2011

Я предполагаю, что force: true вызывает копирование обоих файлов. Похоже, DependencyManager # install не учитывает исключенные deps.

Это похоже на то, что вы хотите:

 require:                                                                                                                                                                                       
    - org.hibernate -> hibernate-core 3.6.8.Final:                                                                                                                                             
        exclude:                                                                                                                                                                               
          - ant -> ant *                                                                                                                                                                       
    - play:                                                                                                                                                                                    
        exclude:                                                                                                                                                                               
          - org.hibernate -> hibernate-core                                                                                                                                                    
    - org.apache.ant -> ant 1.8.2      
...