我正在使用eclipse kepler并在关闭计算机并再次打开它后,我收到此错误消息:
grails run-app --stacktrace
|Loading Grails 2.3.4
|Configuring classpath
.
|Environment set to development
.Error
|
Error executing script RunApp: _GrailsClasspath_groovy$_run_closure1 (NOTE: Stac
k trace has been filtered. Use --verbose to see entire trace.)
java.lang.NoClassDefFoundError: _GrailsClasspath_groovy$_run_closure1
at _GrailsClasspath_groovy.run(_GrailsClasspath_groovy:39)
at _GrailsClasspath_groovy$run.call(Unknown Source)
at _GrailsEvents_groovy$run.call(Unknown Source)
at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
at _GrailsEvents_groovy.run(_GrailsEvents_groovy:32)
at _GrailsEvents_groovy$run.call(Unknown Source)
at _GrailsClean_groovy$run.call(Unknown Source)
at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
at _GrailsClean_groovy.run(_GrailsClean_groovy:29)
at _GrailsClean_groovy$run.call(Unknown Source)
at _GrailsWar_groovy$run.call(Unknown Source)
at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
at _GrailsWar_groovy.run(_GrailsWar_groovy:27) …Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用Grails,我想测试Spring Security Plugin.我正在使用Grails v3.0.0RC2,我发现很难找到很多准确的文档.
我正在查看位于http://grails.org/plugin/spring-security-core的Spring Security插件的Grails页面,它告诉我将以下内容添加到grails-app/conf/BuildConfig
plugins {
…
compile ':spring-security-core:2.0-RC4'
…
}
Run Code Online (Sandbox Code Playgroud)
现在,Grails 3已经废除了BuildConfig,并转而使用Gradle.所以我想我可以将编译行编译到build.gradle中的"dependencies"部分,它会起作用,如下所示:
dependencies{
...
compile:":spring-security-core:2.0-RC4"
}
Run Code Online (Sandbox Code Playgroud)
但是,这没有用.我收到错误"找不到:spring-security-core:2.0-RC4 ......".
然后我想,'嘿,它是一个插件,让我尝试用"org.grails.plugins"作为前缀,就像我在build.gradle文件中看到的那样:
dependencies{
...
compile:"org.grails.plugins:spring-security-core:2.0-RC4"
}
Run Code Online (Sandbox Code Playgroud)
但仍然没有去.
我已经通过添加search.maven.org上的依赖项来编译它,如下所示:
dependencies{
...
compile 'org.springframework.security:spring-security-core:4.0.0.RELEASE'
}
Run Code Online (Sandbox Code Playgroud)
但我不认为这是正确的方法,因为Grails文档说我应该有权访问该命令
grails s2-quickstart
Run Code Online (Sandbox Code Playgroud)
一旦安装了插件,我不会在使用Maven repo时执行此操作.
我确信我正在制作一个简单的配置错误,因为我对Grails,Spring和Gradle都很新,所以我感谢任何可以提供的帮助.
我Error Failed to resolve dependencies尝试运行,清理或编译时遇到错误.我的BuildConfig.groovy文件如下:
grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0)
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.target.level = 1.6
grails.project.source.level = 1.6
//grails.project.war.file = "target/${appName}-${appVersion}.war"
//Start company specific
//set plugin directory (needed for having plugins in perforce)
grails.project.plugins.dir="./plugins"
//set the grails work dir (contains proxy configuration file)
grails.work.dir="./work"
//End company specific
// uncomment (and adjust settings) to fork the JVM to isolate classpaths
//grails.project.fork = …Run Code Online (Sandbox Code Playgroud) 在Grails中,有一个变体如何从源代码中包含本地插件.根据文档,可以输入BuildConfig.groovy:
// Useful to test plugins you are developing.
grails.plugin.location.shiro =
"/home/dilbert/dev/plugins/grails-shiro"
// Useful for modular applications where all plugins and
// applications are in the same directory.
grails.plugin.location.'grails-ui' = "../grails-grails-ui"
Run Code Online (Sandbox Code Playgroud)
问题是它在Grails 2.0.RC1中不起作用.我已经尝试过grails clean,安装插件grails install-plugin并将其放置BuildConfig.groovy.仍然无法解决.
我在grails 1.3.7应用程序中添加了资源插件,除了异步加载的javascript之外,一切正常.
所以,如果我有一个包含a的模板
<r:script>
// javascript here
</r:script>
Run Code Online (Sandbox Code Playgroud)
并通过ajax加载js代码不执行,我得到这个错误:
看起来您缺少对r:layoutResources标记的一些调用
这是有道理的,因为页面已经被渲染,并且没有r:layoutResources来处理新添加的r:script js代码.
我发现的唯一的解决方法是添加
render r.layoutResources(disposition:"defer") 后,实际render(template:...)在异步呈现内容的控制器操作.
还有其他更明确的解决方案吗?
我在Grails应用程序中使用Spring Security插件的1.2版本.我希望以下列方式处理登录尝试:
我已经看过插件手册的" 事件"部分,它似乎涵盖了这一点.但是,似乎没有任何方法可以在这些事件处理程序中重定向用户.
我知道已经有一个问题,但我认为导致的问题可能因他们所说的而有所不同.我有以下设置:
这个grails应用程序有多个数据源(我不确定这个事实是否与它有任何关系)并且它发生在从第二个数据源调用Domain对象之后,该数据源已经使用grails反向工程插件进行了反向设计(已完成)在一个单独的项目上,然后导入到我的项目.
这是导致Controller层和服务层出现问题的GORM调用
def campusAttributes = CampusAttribute.findAllByNameLike("%Next Option%")
Run Code Online (Sandbox Code Playgroud)
我发现了一些其他的抱怨,这似乎是Maven和grails hibernate插件版本的一个问题,但在那种情况下,问题是grails 2.3.1和特定的hibernate插件版本非常特别.
我所做的只是一个grails run-app(没有用maven构建应用程序也没有任何嘲弄)
提前致谢
我目前正在尝试在grails中为默认约束指定自定义错误消息,但到目前为止我所有回来的都是默认错误消息.
我知道我必须编辑grails-app/i18n/messages.properties文件
如果我更改以下默认错误代码消息,它将正确显示新的错误消息
default.blank.message=Property [{0}] of class [{1}] cannot be blank
Run Code Online (Sandbox Code Playgroud)
但是,这不是我想要做的.我需要更细粒度的错误报告,并且有多个字段可以为空白等.我希望能够做的是,为类中的每个字段显示自定义消息
package com.mycompany.myapp
class Test{
String name
def constraints = {
name(nullable:false, blank:false)
}
}
Run Code Online (Sandbox Code Playgroud)
(以下代码附加到messages.properties的末尾)
test.name.blank=Name cannot be blank
test.name.nullable=Name cannot be nullable
Run Code Online (Sandbox Code Playgroud)
根据grails文档,这应该可以正常工作,无论是否包名 - className.propertyName.blank
grails.org/doc/latest/(约束部分)&(第7.4节 - 验证和国际化)
我已经尝试了所有可以想到的组合,但它总是显示自定义消息
我也尝试过安装grails i18n模板插件
http://www.grails.org/I18n+Templates+Plugin
它会自动为我生成错误代码.我将新的错误代码附加到现有messages.properties文件的末尾,但我仍然收到默认的错误消息.
但是,插件生成的错误代码有所不同.
而不是grails doc - test.name.null = ......中指定的格式,它自动生成test.name.null.error =自定义消息
我还尝试完全删除默认错误消息,但仍然显示它们
如果有人以前遇到过这个问题,我将不胜感激,任何人都可以给予我任何帮助
提前致谢
我从朋友那里得到了插件的源代码,但仍然不知道如何将它安装到我的项目中.是的,有install-plugin命令,但是这个插件不允许上传到root grails插件目录.
如何从源代码安装grails插件?
更新:该插件是为Grails 1.1开发的,但我目前的项目是Grails 1.3.它会引起任何问题吗?
我从我的PC上删除了我的.grails文件夹,当我在Intellij IDE中打开一个应用程序时,buildConfig.groovy中提到的插件开始安装.安装了一些插件,但无法安装六个插件.发生以下错误.
"C:\Program Files\Java\jdk1.7.0_75\bin\java" -Dgrails.home=C:\grails-2.1.1 -Dbase.dir=F:\Projects\sms-sender "-Dtools.jar=C:\Program Files\Java\jdk1.7.0_75\lib\tools.jar" -Dgroovy.starter.conf=C:\grails-2.1.1/conf/groovy-starter.conf -Xmx768M -Xms768M -XX:MaxPermSize=256m -XX:PermSize=256m -Djline.WindowsTerminal.directConsole=false -Dfile.encoding=UTF-8 -classpath C:\grails-2.1.1\lib\org.codehaus.groovy\groovy-all\jars\groovy-all-1.8.8.jar;C:\grails-2.1.1\dist\grails-bootstrap-2.1.1.jar org.codehaus.groovy.grails.cli.support.GrailsStarter --main org.codehaus.groovy.grails.cli.GrailsScriptRunner --conf C:\grails-2.1.1/conf/groovy-starter.conf idea-print-project-settings
| Loading Grails 2.1.1
| Configuring classpath
:: problems summary ::
:::: WARNINGS
module not found: org.grails.plugins#shiro;1.1.4
==== grailsPlugins: tried
-- artifact org.grails.plugins#shiro;1.1.4!shiro.zip:
F:\Projects\sms-sender/lib/shiro-1.1.4.zip
C:\Users\Sikander\.grails\2.1.1\projects\SMSServer\plugins\hibernate-2.1.1/lib/shiro-1.1.4.zip
C:\Users\Sikander\.grails\2.1.1\projects\SMSServer\plugins\jquery-1.8.0/lib/shiro-1.1.4.zip
C:\Users\Sikander\.grails\2.1.1\projects\SMSServer\plugins\resources-1.1.6/lib/shiro-1.1.4.zip
C:\Users\Sikander\.grails\2.1.1\projects\SMSServer\plugins\tomcat-2.1.1/lib/shiro-1.1.4.zip
C:\Users\Sikander\.grails\2.1.1\projects\SMSServer\plugins\webxml-1.4.1/lib/shiro-1.1.4.zip
==== grailsHome: tried
C:\grails-2.1.1/lib/org.grails.plugins/shiro/ivy-1.1.4.xml
-- artifact org.grails.plugins#shiro;1.1.4!shiro.zip:
C:\grails-2.1.1/lib/org.grails.plugins/shiro/jars/shiro-1.1.4.zip
C:\grails-2.1.1/lib/org.grails.plugins/shiro/bundles/shiro-1.1.4.zip
==== grailsHome: tried
C:\grails-2.1.1\src\libs/cookie-0.51.zip
==== grailsHome: tried
C:\grails-2.1.1\dist/cookie-0.51.xml
-- artifact org.grails.plugins#cookie;0.51!cookie.zip:
C:\grails-2.1.1\dist/cookie-0.51.zip
==== grailsHome: tried
::::::::::::::::::::::::::::::::::::::::::::::
:: UNRESOLVED DEPENDENCIES …Run Code Online (Sandbox Code Playgroud) grails-plugin ×10
grails ×9
grails-2.0 ×3
groovy ×2
ajax ×1
eclipse ×1
gradle ×1
grails-3.0 ×1
grails-orm ×1
javascript ×1