2015-04-25 3 views
6

Я пытаюсь использовать плагин gradle-grails для создания существующего (небольшого) проекта Grails. Должно ли это работать? Какова связь между зависимостями в build.gradle и теми, которые указаны в buildConfig.groovy?Gradle дает ClassNotFoundException при построении проекта Grails

В любом случае, у меня есть два проекта, поэтому верхний build.gradle файл находится в родительском каталоге и выглядит следующим образом:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath "org.grails:grails-gradle-plugin:2.2.0.RC1" 
    } 
} 

task wrapper(type: Wrapper) { 
    gradleVersion = '2.3' 
} 

и затем build.gradle в проекте Grails выглядит как:

apply plugin: "grails" 

repositories { 
    grails.central() //creates a maven repo for the Grails Central repository (Core libraries and plugins) 
} 

grails { 
    grailsVersion = '2.4.4' 
    groovyVersion = '2.3.9' 
    springLoadedVersion '1.2.0.RELEASE' 
} 

dependencies { 
    bootstrap "org.grails.plugins:tomcat:7.0.55.3" 
    compile 'org.grails.plugins:asset-pipeline:3.0.1' 

    compile 'org.grails.plugins:scaffolding:2.1.2' 
    compile 'org.grails.plugins:cache:1.1.8' 

    runtime 'org.grails.plugins:hibernate4:4.3.1.1' 
    runtime 'org.grails.plugins:database-migration:1.3.8' 
    runtime 'org.grails.plugins:jquery:1.11.0' 
} 

Однако, когда я бегу ./gradlew war, я вернусь:

Caused by: java.long.ClassNotFoundException: grails.artefact.Service 

Может ли кто-нибудь пролить свет на это? На Google практически нет ссылок, похоже, это класс Grails 3.x? Кроме того, я использую Java 1.7.

ответ

1

Класс grails.artefact.Service действительно доступен из v3.0 рамки гравия - как можно видеть here.

Со следующим утверждением grailsVersion = '2.4.4' v2.4.4 указан для использования, и все это выглядит нормально. Что портит сборки является следующей dependencies записи:

compile 'org.grails.plugins:asset-pipeline:3.0.1' 

В этом пакете есть класс asset/pipeline/grails/AssetProcessorService, который импортирует указанную grails.artefact.Service, который не загружается во время выполнения (возможно, из-за v2.4.4 используется).

К сожалению, я не могу предложить какое-либо решение, кроме тривиального, исключая эту зависимость. Я не разработчик Grails и не настроил среду.

Надежды, которые помогают как-то.

+0

@JoeG, было ли это полезно? – Opal

Смежные вопросы