Ответ 1
Поместите банку в папку lib, чтобы сделать трюк. В настоящее время мы используем тот же подход без проблем.
У меня есть несколько проектов Java/Maven, которые я хочу использовать в проекте Grails 2.0.4. Я пробовал различные подходы, например:
grails install-dependency com.foo:my-project:0.0.1-SNAPSHOT
lib
из grails.compile com.foo:my-project:0.0.1-SNAPSHOT
в раздел зависимостей BuildConfig.groovy
mavenLocal()
и передача /home/me/.m2/repository
Возможно, я попробовал несколько других вещей, например, суеверно бросая в grails clean
всякий раз, когда это удобно. В каждом случае grails compile
получается следующий результат: сбой компиляции, неспособный разрешить любую ссылку на любой из классов в любом из JAR.
Любая идея, что мне не хватает?
Поместите банку в папку lib, чтобы сделать трюк. В настоящее время мы используем тот же подход без проблем.
Добавление jar в папку "lib" было недостаточно для меня. Мне пришлось бежать:
grails compile --refresh-dependencies
После чего он работал.
Если Grails по умолчанию не берет локальные библиотеки .jar, расположенные в <GRAILS-APP-DIR>/lib
(кажется, что с Grails 3.X удалена конфигурация по умолчанию папки /lib
), простой способ ее принудительного применения изменяет build.gradle
чтобы добавить для него зависимость локального каталога.
Для почти всех случаев, конечно, лучше использовать репозитории maven, однако возможно наличие некоторых db-vendor-drivers
или других библиотек, которые не находятся в публичном репо. Для этого для этих библиотек измените <GRAILS-APP-DIR>/build.gradle
и добавьте что-то вроде:
dependencies {
...
compile fileTree(dir: './lib', include: ['*.jar'])
...
}
Если вы хотите, вы можете использовать другой каталог (не /lib
), так как вы указали его. Разумеется, используйте правильную область (например, для db-vendor-drivers
, которая, вероятно, уже находится в пути класса контейнера приложения, область будет runtime
вместо compile
)
Надеюсь, что это поможет,
Зависимость от обновления Grails, чистая и т.д. не работала для меня. То, что сработало для меня, было выходом из демона Grails и снова начала Grails.