https://grails.org/ logo
Join Slack
Powered by
# questions
  • d

    Dave

    10/04/2025, 4:12 PM
    Could it be it needs turning off and on again?
    😂 1
  • j

    jdaugherty

    10/04/2025, 4:22 PM
    seems to be working for me at the moment
  • d

    Dave

    10/04/2025, 4:32 PM
    Hmmm, i'll try another machine, thanks for sharing.
  • m

    matt.aguirre

    10/06/2025, 4:28 PM
    Does any user or recommend a package/plugin to generate openapi/swagger documentation? Using Grails 6.2.3.
    j
    j
    • 3
    • 6
  • u

    user

    10/07/2025, 1:41 PM
    Is there any brave person willing to test seed-me recompiled with Apache Grails 7.0.0-RC2 (https://github.com/wondrify/seed-me/pull/30)?
  • m

    Mark Johnson

    10/08/2025, 2:06 PM
    is this the correct way to specify multipple optional config files in application.yml for a grails 6 app?
    Copy code
    spring:
        config:
            import: >
                optional:file:${PATH_EXT_CONFIG:-/app/config}/application.yml,
                optional:file:${PATH_EXT_CONFIG:-/app/config}/application.groovy,
                optional:file:${PATH_EXT_CONFIG:-/app/config}/custom-application.yml
  • m

    Mark Johnson

    10/08/2025, 2:33 PM
    Idiomatic I mean
  • s

    sbglasius

    10/08/2025, 3:56 PM
    @Mark Johnson or look at the external-config plugin: https://github.com/sbglasius/external-config
  • m

    Mark Johnson

    10/09/2025, 8:30 AM
    @sbglasius thanks!
    Copy code
    grails:
        config:
            locations:
                - optional:file:${PATH_EXT_CONFIG:-/app/config}/application.yml
                - optional:file:${PATH_EXT_CONFIG:-/app/config}/application.groovy
                - optional:file:${PATH_EXT_CONFIG:-/app/config}/custom-application.yml
    assuming that in
    Copy code
    #application.yml
    
    a.list:
        - name: example1
          description: desc1
    and assuming that in
    Copy code
    #custom-application.yml
    
    a.list:
        - name: example1
          description: desc1
        - name: example2
          description: desc2
    which one will should take precedence also is
    optional:
    valid in your plugin i dont see any reference, can i dispense with it
  • r

    rss

    10/09/2025, 4:24 PM
    Why did json views syntax change between Grails 4 and Grails 5? While upgrading a Grails 4 application to Grails 5, I encountered a failure in one of the json views (.gson file) when specifying a field having an empty map. In Grails 4, this worked fine, but in Grails 5 I have to put parentheses around the empty map literal, or the render call fails saying that there is no property of the view class with that name. I wrote the following unit test to reproduce the behavior: import grails.plugin.json.view.test.JsonRenderResult import...
  • g

    giangio

    10/09/2025, 4:47 PM
    I've been asked about CSRF protection, does Grails take care of it automagically? This is what ChatGPT is telling me, but I havent found anything on Spring Security Core docs, any word of wisdom? ChatGPT says I can use this, is she (don't ask LOL) allucinating?
    Copy code
    grails:
        plugin:
            springsecurity:
                csrf:
                    enabled: true
                    tokenName: _csrf
                    headerName: X-CSRF-TOKEN
    j
    s
    • 3
    • 2
  • a

    Arjang

    10/09/2025, 5:28 PM
    Spring Security question. Annotation does not work when RequestMap is stored in DB (Doc section 4.6). For example this won’t work
    Copy code
    @Secured("hasRole('ROLE_ADMIN')")
        def index(Integer max) {
    But it works if we use Static RequestMap (Doc section 4.5). Is this a correct behaviour?
    j
    • 2
    • 5
  • j

    James Fredley

    10/09/2025, 9:36 PM
    How do you configure database migration in Grails 7
    u
    u
    +2
    • 5
    • 6
  • j

    James Fredley

    10/09/2025, 9:45 PM
    How do you configure spring security in Grails 7
    u
    u
    • 3
    • 2
  • j

    James Fredley

    10/09/2025, 9:58 PM
    How do you configure database migration in Grails 7
    u
    u
    +5
    • 8
    • 7
  • u

    user

    10/10/2025, 1:57 PM
    Hi, Great to see such good progress on Grails recently! I'm quite far along with converting our large Grails app to V7 and it's running well in development. We build a war which is deployed in Tomcat but i'm getting some kind of issue with logging. I've tried searching and AI but i've been struggling to find the solution. The app doesn't start up and gives this error, which seems to be coming from Spring data jpa (from what I can tell) which we use as well as GORM. It looks like possibly an issue with the jboss-logging version. We use logback for our app logging and want as much logging as possible to go through there. I'm a bit stuck at the moment so wondered if anyone could help? Thanks
    Copy code
    dashboard-1  | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory': null
    dashboard-1  |  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1826)
    dashboard-1  |  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607)
    dashboard-1  |  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529)
    dashboard-1  |  at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339)
    dashboard-1  |  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373)
    dashboard-1  |  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337)
    dashboard-1  |  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207)
    dashboard-1  |  at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:970)
    dashboard-1  |  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
    dashboard-1  |  at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
    dashboard-1  |  at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)
    dashboard-1  |  at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439)
    dashboard-1  |  at org.springframework.boot.SpringApplication.run(SpringApplication.java:318)
    dashboard-1  |  at grails.boot.GrailsApp.run(GrailsApp.groovy:102)
    dashboard-1  |  at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:194)
    dashboard-1  |  at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:174)
    dashboard-1  |  at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:102)
    dashboard-1  |  at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171)
    dashboard-1  |  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4464)
    dashboard-1  |  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
    dashboard-1  |  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599)
    dashboard-1  |  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571)
    dashboard-1  |  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:655)
    dashboard-1  |  at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:632)
    dashboard-1  |  at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1881)
    dashboard-1  |  at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    dashboard-1  |  at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    dashboard-1  |  at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    dashboard-1  |  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    dashboard-1  |  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    dashboard-1  |  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
    dashboard-1  |  at java.base/java.lang.Thread.run(Unknown Source)
    dashboard-1  | Caused by: java.lang.ExceptionInInitializerError: null
    dashboard-1  |  at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:54)
    dashboard-1  |  at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390)
    dashboard-1  |  at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:419)
    dashboard-1  |  at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:400)
    dashboard-1  |  at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366)
    dashboard-1  |  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1873)
    dashboard-1  |  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1822)
    dashboard-1  |  ... 31 common frames omitted
    dashboard-1  | Caused by: java.lang.IllegalArgumentException: The given lookup does not have access to the implementation class constructor
    dashboard-1  |  at org.jboss.logging.Logger.doGetMessageLogger(Logger.java:2641)
    dashboard-1  |  at org.jboss.logging.Logger.getMessageLogger(Logger.java:2570)
    dashboard-1  |  at org.jboss.logging.Logger.getMessageLogger(Logger.java:2552)
    dashboard-1  |  at org.hibernate.internal.HEMLogging.messageLogger(HEMLogging.java:28)
    dashboard-1  |  at org.hibernate.internal.HEMLogging.messageLogger(HEMLogging.java:24)
    dashboard-1  |  at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<clinit>(EntityManagerFactoryBuilderImpl.java:144)
    u
    u
    +2
    • 5
    • 4
  • j

    James Fredley

    10/14/2025, 3:08 PM
    set the channel description: Channel to ask Grails questions. AI bot assisted. Archive of the channel is here: https://www.linen.dev/s/grails/c/questions
  • j

    James Fredley

    10/14/2025, 3:08 PM
    set the channel topic: Grails questions. AI bot assisted. Please ask them on https://lists.apache.org/list.html?users@grails.apache.org and paste the link here. This channel is archived on https://www.linen.dev/s/grails/c/questions
    👍 3
  • d

    Dylan Kolson

    10/15/2025, 4:20 PM
    is there a guide on how to ask questions on https://lists.apache.org/list.html?users@grails.apache.org i must be missing something
    u
    u
    +2
    • 5
    • 4
  • d

    Dylan Kolson

    10/15/2025, 4:21 PM
    trying to solve the follwoing error when upgrading to grails 7 A problem occurred evaluating project ':wt-app'.
    Plugin with id 'org.apache.grails:grails-gsp' not found.
    u
    u
    +3
    • 6
    • 24
  • s

    spencer

    10/15/2025, 6:35 PM
    Question about the Grails 6 and 7 roadmaps. With the coming release of 7 and the hosting and other governance changes, will 6.2.3 continue to receive security and other updates going forward? Or will all focus now be on Grail 7 only?
    u
    u
    +3
    • 6
    • 6
  • d

    Dylan Kolson

    10/16/2025, 4:01 PM
    has https://github.com/grails-plugins/grails-mail/releases/tag/v5.0.2 been published?
    u
    u
    u
    • 4
    • 4
  • s

    Slackbot

    10/20/2025, 5:33 PM
    This message was deleted.
    u
    u
    +2
    • 5
    • 4
  • n

    ngraff

    10/20/2025, 8:46 PM
    Hi Team, making good progress on upgrading our app to Grails 7.0.0 today. Currently running into this exception with grails-mail. Has anyone experienced the following stacktrace using grails-mail:5.0.2? Error creating bean with name 'mailService' defined in class path resource [grails/plugins/mail/MailAutoConfiguration.class]: Unsatisfied dependency expressed through method 'mailService' parameter 1: Error creating bean with name 'mailMessageBuilderFactory' defined in class path resource [grails/plugins/mail/MailAutoConfiguration.class]: Unsatisfied dependency expressed through method 'mailMessageBuilderFactory' parameter 1: Error creating bean with name 'mailMessageContentRenderer' defined in class path resource [grails/plugins/mail/MailAutoConfiguration.class]: Unsatisfied dependency expressed through method 'mailMessageContentRenderer' parameter 0: Error creating bean with name 'groovyPagesTemplateEngine': Cannot resolve reference to bean 'gspTagLibraryLookup' while setting bean property 'tagLibraryLookup'
    u
    u
    +4
    • 7
    • 8
  • p

    pablo.pazos

    10/20/2025, 10:56 PM
    hi folks, quick question, is there a way to pass extra parameters to custom marshallers?
    u
    u
    +4
    • 7
    • 11
  • p

    pablo.pazos

    10/23/2025, 7:03 PM
    Can someone remove the ai agents?
    u
    u
    +3
    • 6
    • 9
  • l

    lbwexler

    10/24/2025, 5:25 PM
    Code reviewers at my company want to know -- what is the meaning of 'restricted' in the core co-ordinates for the grails repo in the generated build script?
    Copy code
    repositories {
        maven { url "<https://repo.grails.org/grails/restricted>" }
    }
    u
    u
    +2
    • 5
    • 6
  • p

    pablo.pazos

    10/26/2025, 1:24 AM
    I've been fixing small things on a project and sudendly I started to get this exception and I don't know what's the reason, the issue is there are no lines in the trace that actually lead to something in my code.
    u
    u
    +2
    • 5
    • 4
  • p

    pablo.pazos

    10/26/2025, 1:24 AM
    here is the exception
    Untitled
    u
    u
    u
    • 4
    • 6
  • a

    Arjang

    10/26/2025, 2:11 PM
    How should i report broken links in Docs? Should I open a ticket? For example in grails-spring-security-core link to CAS is broken.
    u
    u
    +2
    • 5
    • 5