Как разрешить конфликт Groovy с помощью Apache Common Logging? - PullRequest
0 голосов
/ 23 ноября 2010

Это мое пользовательское выполнение Groovy Maven:

[...]
<plugin>
  <groupId>org.codehaus.groovy.maven</groupId>
  <artifactId>gmaven-plugin</artifactId>
  <version>1.0-rc-5-SNAPSHOT</version>
  <executions>
    <execution>
      <phase>prepare-package</phase>
      <goals>
        <goal>execute</goal>
      </goals>
      <configuration>
        <classpath>
          <element>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.1</version>
          </element
        </classpath>
        <source>
          import org.apache.commons.httpclient.HttpClient;
          // ...
        </source>
      </configuration>
    </execution>
  </executions>
</plugin>
[...]

Это то, что говорит Maven:

[...]
[ERROR] Failed to execute goal org.codehaus.groovy.maven:gmaven-plugin:1.0-rc-5-SNAPSHOT:execute (...) on project XXX: 
java.lang.ExceptionInInitializerError: org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: 
Invalid class loader hierarchy.  
You have more than one version of 'org.apache.commons.logging.Log' visible, 
which is not allowed. 
(Caused by org.apache.commons.logging.LogConfigurationException: 
Invalid class loader hierarchy.
[...]

Я думаю, что понимаю, почему это происходит, но как я могу решить

Ответы [ 3 ]

1 голос
/ 30 декабря 2010

Обновление до версии 1.3 решило проблему.

1 голос
/ 23 ноября 2010

Трудно сказать, как именно это исправить, не видя весь файл pom.xml, но я бы посоветовал заглянуть в тег.Вы можете исключить дополнительную зависимость с помощью чего-то вроде следующего:

<plugin>
    ...
    ...
    <dependencies>
        <dependency>
            <artifactId>...</artifactId>
            <groupId>...</groupId>
            <version>...</version>
            <exclusions>
                <exclusion>
                    <artifactId>commons-logging</artifactId>
                    <groupId>commons-logging</groupId>                        
                <exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</plugin>
0 голосов
/ 23 ноября 2010

Проверьте, кто импортирует эту зависимость с помощью зависимости mvn: дерево и конфликт удаления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...