我创建了一个新的grails 2.3示例项目.
它在刷新依赖项或run-app时给出错误
Loading Grails 2.3.0.M1
| Configuring classpath
| Error org.sonatype.aether.collection.DependencyCollectionException: Failed to collect dependencies for [xalan:serializer:jar:2.7.1 (compile), org.grails:grails-bootstrap:jar:2.3.0.M1 (compile), org.grails:grails-scripts:jar:2.3.0.M1 (compile), org.grails.plugins:tomcat:zip:7.0.39 (compile)]
| Error at org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:258)
| Error at org.sonatype.aether.impl.internal.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:308)
| Error at org.codehaus.groovy.grails.resolve.maven.aether.AetherDependencyManager.collectDependencies(AetherDependencyManager.groovy:389)
| Error at org.codehaus.groovy.grails.resolve.maven.aether.AetherDependencyManager.resolve(AetherDependencyManager.groovy:262)
| Error at grails.util.BuildSettings.doResolve(BuildSettings.groovy:505)
| Error at grails.util.BuildSettings.doResolve(BuildSettings.groovy)
| Error at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| Error at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
| Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| Error at java.lang.reflect.Method.invoke(Method.java:601)
| Error at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
| Error at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
| Error …
Run Code Online (Sandbox Code Playgroud) 我有以下行动:
def index() {
User.withNewTransaction {
def user = User.get(params.userId)
user.name = "test"
user.save(flush:true)
response.setContentType("image/gif")
response.outputStream << PIXEL_BYTES_OF_A_GIF_IMAGE
return
}
}
Run Code Online (Sandbox Code Playgroud)
运行时,我有时会收到以下错误:
Message
Executing action [index] of controller [test.TestController] caused exception: Runtime error executing action
Caused by
Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [test.User#1]
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种错误?我以为withNewTransaction
会阻止这个错误.
所以,在我们的grails项目中,我们使用的是twitter-bootstrap:3.1.1
插件.直到现在还没有看到任何重大问题.
在layouts/main.gsp
我们的网站上添加了一个很棒的导航栏.唯一的问题是我们不希望打印页面时打印.在2.3.2
多个案例中,我们只需添加类来隐藏元素.如下所示,hidden-print
将添加到外部元素中.打印时,页面仍包含标记为隐藏的项目.
作为测试,我决定将其放在应用程序中的其他随机元素上,并且在所有点上它似乎忽略了无打印请求.
<div class="navbar navbar-default hidden-print" role="navigation">
<div class="navbar-header">
<g:link class="navbar-brand" uri="/">Eight States</g:link>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><g:link controller="agency" action="index">Agency</g:link></li>
<li><g:link controller="attendee" action="index">Attendee</g:link></li>
<li><g:link controller="vendor" action="index">Vendor</g:link></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Reports <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><g:link controller="activityRegistration">Event Report</g:link></li>
<li><g:link controller="attendee" action="flightReport">Flight Report</g:link></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
<li>
<sec:ifLoggedIn><a href="${createLink(uri: '/j_spring_security_logout')}">Logout</a></sec:ifLoggedIn>
<sec:ifNotLoggedIn><g:link controller='login' action='auth'>Login</g:link></sec:ifNotLoggedIn>
</li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在运行 grails 战争。
错误:错误 WAR 打包错误:存档包含超过 65535 个条目。
如何在 grails 中启用 zip64?
我有一个版本为 2.3.4 的 grails 项目,我需要升级到最新版本。查看文档我意识到从 2.x 到 3.x 有巨大的变化。
问题是:从 2 到 3、从 3 到 4、从 4 到 5 逐步升级对我来说是否理想,还是一次性从 2 升级到 5 更好/可能?
我的应用想要使用自定义邮件发送电子邮件.我浏览了http://grails.org/Mail+from+Grails的文档,我觉得这些文章非常不完整.我按照替代邮件程序中提到的步骤,但我得到一个例外
处理请求时发生NullPointerException:[GET] url/sendEmail无法在null对象上调用方法sendNewEmail().
我的控制器看起来像这样
XXXMailer paMailer paMailer.sendNewEmail()
我是Grails的新手,我正在使用Grails 2.0.1.我想为域类的对象中的更改添加持久性事件侦听器,因此我尝试了用户指南中给出的Bootstrap.groovy中的代码:
def init = {
applicationContext.addApplicationListener(new FooBarListener())
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
错误context.GrailsContextLoader - 执行bootstraps时出错:没有这样的属性:类的applicationContext:BootStrap
如何从BootStrap类中获取applicacionContext属性?或者文档是否过时,是否有新的/更好的方法来添加域更改侦听器?
提前致谢.
我是grails应用程序的新工作.我对这个 - > grails中的运算符感到困惑.谁能给我一个明确的概念呢?或者给我任何关于这方面的参考资料对我来说很容易.我已经在阅读在线文档和一些书籍,但我仍然对此运算符和用法感到困惑.
我创建了一项服务 NotifierService
class NotifierService {
MailService mailService
def sendEmail(String email) {
mailService.sendMail {
to email
from "myemail@domain.com"
subject "Subject"
body "Some text"
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我试图在服务sendEmail
中的另一种方法updateUser
中调用方法DbService
class DbService {
NotifierService notifierService
def updateUser(){
//Some Logic
//Get userObject
def email = userObject.email
//Send email
try {
notifierService.sendEmail(email)
} catch (Exception e) {
e.printStackTrace()
}
}
//Other methods
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
当我调用sendEmail
method 时它工作正常BootStrap
,但是当我使用它时我得到以下错误DbService
| Error java.lang.NullPointerException: Cannot invoke method sendMail() on …
Run Code Online (Sandbox Code Playgroud) grails-2.0 ×10
grails ×9
grails-orm ×2
groovy ×2
config ×1
css ×1
hibernate ×1
java ×1
spring ×1
transactions ×1