Использование guava в griffon приводит к исключению запрещенного пакета

#guava #griffon

#guava #griffon

Вопрос:

Я использую Griffon и хочу добавить библиотеки guava в качестве зависимости в свой проект. Однако, когда я делаю это, даже не используя 1 класс, я получаю следующее исключение:

 Compilation error: BUG! exception in phase 'canonicalization' in source unit
'/home/wdb/myproject/griffon-app/controllers/MyController.groovy' Prohibited
package name: java.util.concurrent
 

Есть идеи, что может быть не так? Это моя версия Java (на Ubuntu 11.10):

 wdb@wdb-laptop:~$ java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) Server VM (build 20.2-b06, mixed mode)
 

Я нашел эту ссылку, в которой говорится об использовании bootclasspath для решения аналогичной проблемы, но это кажется немного радикальным.

с уважением,

Wim

Ответ №1:

Я предполагаю, что наша копия bootclasspath для java.util.concurrent.ExecutorService (необходимый из-за несовместимого изменения между JDK5 и JDK6) отображается в вашем пути к классу. Я действительно не знаю Maven, но я бы подумал, что, поскольку мы идентифицируем зависимость как «предоставленную», этого не должно происходить.

На самом деле это не ответ, но я надеюсь, что этого достаточно, чтобы вы или кто-то другой начали.

Ответ №2:

Должно быть, Griffon не учитывает «предоставленную» область. Мне удалось заставить его работать, отредактировав BuilderConfig.groovy :

 compile( 'com.google.guava:guava:10.0.1' ) { 
    exclude 'guava-bootstrap' 
}