首先,对不起我的英语不好,我是法国人,希望我的问题很清楚。
我正在用 gradle 构建一个 grails 项目,并想使用其余插件。
这是我的 build.gradle conf 文件:
import org.grails.gradle.plugin.GrailsTask
version = '1.0'
grailsVersion = '2.2.1'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'grails'
buildscript {
repositories {
mavenCentral()
mavenRepo name: "grails", url: 'http://repo.grails.org/grails/repo'
}
dependencies {
classpath "org.grails:grails-gradle-plugin:1.1.1-SNAPSHOT"
}
}
repositories {
mavenCentral()
mavenRepo name: 'grails', url: 'http://repo.grails.org/grails/repo'
mavenRepo name: 'nexus', url: 'http://nexusurl.fr'
mavenRepo url: 'http://repo.grails.org/grails/plugins'
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: 'http://url') {
authentication(userName: 'log', password: 'pass')
}
pom.version = '0.0.0'
pom.artifactId = 'yo'
pom.groupId = 'com.something'
pom.packaging = 'war'
}
}
}
dependencies {
['dependencies', 'resources', 'core', 'plugin-domain-class', 'plugin-tomcat', 'plugin-services'].each { plugin ->
compile "org.grails:grails-$plugin:2.2.1"
}
compile 'repo.grails.org:grails-plugins-rest:0.7'
compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.9'
compile 'org.codehaus.jackson:jackson-core-asl:1.9.9'
compile 'com.googlecode.json-simple:json-simple:1.1'
bootstrap 'org.codehaus.groovy:groovy-all:1.8.6'
}
GRAILS_TASK_PREFIX = 'grails-'
if (name.startsWith(GRAILS_TASK_PREFIX)) {
project.task(name, type: GrailsTask) {
command "${name - GRAILS_TASK_PREFIX}"
}
}
这是其余插件: http: //grails.org/plugin/rest
以前,获取这个插件非常简单:
grails install-plugin rest
将以下行添加到 application.properties 文件中:
plugins.rest=0.7
我只是不知道如何将此插件添加到我的 buildFile 中。
我的 grails 应用程序可以运行,但在运行时出现错误:
Error |
2013-06-11 14:20:41,916 [http-bio-8080-exec-8] ERROR errors.GrailsExceptionResolver - MissingMethodException occurred when processing request: [POST] /dwgui/signIn/login - parameters:
username: demo-user
password: ***
No signature of method: com.ftprod.dwgui.security.AuthenticationService.withHttp() is applicable for argument types: (java.util.LinkedHashMap, com.ftprod.dwgui.security.AuthenticationService$_testSign
In_closure1) values: [[uri:http://data.iraiser.eu], com.ftprod.dwgui.security.AuthenticationService$_testSignIn_closure1@2786aa0f]. Stacktrace follows:
Message: No signature of method: com.ftprod.dwgui.security.AuthenticationService.withHttp() is applicable for argument types: (java.util.LinkedHashMap, com.ftprod.dwgui.security.AuthenticationService$
_testSignIn_closure1) values: [[uri:http://data.iraiser.eu], com.ftprod.dwgui.security.AuthenticationService$_testSignIn_closure1@2786aa0f]
Line | Method
->> 28 | testSignIn in com.ftprod.dwgui.security.AuthenticationService
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 14 | login in com.ftprod.dwgui.security.SignInController
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 722 | run . . . in java.lang.Thread
将此行添加到我的 build.gradle 的依赖项范围中会在 gradle build 期间给我一个错误:
compile 'repo.grails.org:grails-plugins-rest:0.7'
错误 :
* What went wrong:
Execution failed for task ':grails-run-app'.
> Could not find repo.grails.org:grails-plugins-rest:0.7.
Required by:
:dwgui:1.0
我清楚地理解最后一个错误。
所以这是我的问题:如何使用 gradle 为 grails 添加 rest 插件?