Grails build on build server failing - grails

When running the build of our Grails app locally, it works fine. However, when it runs out on our TeamCity instance, after it does the unit tests and goes into the integration test phase, this happens:
[13:15:35][exec] Configuring Spring Security Core ...
[13:15:36][exec] ... finished configuring Spring Security Core
[13:15:36][exec]
[13:26:43][exec] Error |
[13:26:43][exec] Fatal error running tests: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer] (Use --stacktrace to see the full trace)
[13:26:43][exec] Tests FAILED |
[13:26:43][exec]
[13:26:45][exec] Error |
[13:26:45][exec] Error executing script TestApp: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer] (Use --stacktrace to see the full trace)
[13:26:45][exec] Result: 1
Any clue why this would happen on the build box but not locally? I can't find anything that makes sense to me.

Related

deploy war on amazon EC2

When I deploy a Grails application using RDS I am getting this error:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager':
Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sessionFactory':
Invocation of init method failed; nested exception is java.lang.NullPointerException

SLF4J exception when deploying to weblogic

We've started getting the following exception when deploying to Weblogic:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'alertService': Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mailService': Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mailMessageBuilderFactory': Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mailMessageContentRenderer': Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'groovyPagesTemplateEngine': Cannot resolve reference to bean 'gspTagLibraryLookup' while setting bean property 'tagLibraryLookup'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gspTagLibraryLookup': Invocation of init method failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grails.plugin.springsecurity.SecurityTagLib': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webInvocationPrivilegeEvaluator': Cannot resolve reference to bean 'filterInvocationInterceptor' while setting constructor argument; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'filterInvocationInterceptor': Invocation of init method failed; nested exception is
java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.arrayFormat(Ljava/lang/String;
[Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;
I've tried removing the slf4j jar from my ear. I've also tried putting the following in my weblogic-appliction.xml:
<prefer-application-packages>
<package-name>org.slf4j.*</package-name>
</prefer-application-packages>
<prefer-application-resources>
<resource-name>org/slf4j/impl/StaticLoggerBinder.class</resource-name>
</prefer-application-resources>
Nothing has worked thus far. Basically, I've tried all of the different things that I've found online. Usually, when I have a conflict with a jar that I'm providing myself and that Weblogic is also providing, just using the prefer-application-packages does the trick.
I'm using Grails 2.3.6 with Weblogic 10.3.6.
In case anyone comes across this issue, this is what my problem ended up being:
What was happening is that we were including the activemq-all artifact for JMS stuff, and this artifact is what they call an "uber" jar. It as a ton of dependencies baked into it that cannot be excluded via maven – one of those dependencies was an old version of slf4j. So, even though I had the "prefer-application-packages" set in Weblogic for slf4j, it wasn't using the Grails provided version, but rather the activemq one. Rather than using the activemq-all dependency, I switched to use individual components from activemq and was able to at that point exclude slf4j. This solved my issue.

Grails 2.3.5 requiring "grails clean" after every code change

Every time I modify my code I have to run grails clean before running grails run-app. If I don't, I get messages like this:
| Error 2014-02-13 16:33:16,774 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing the application: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Cannot resolve reference to bean 'dataSourceUnproxied' while setting bean property 'targetDataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceUnproxied': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [oracle.jdbc.OracleDriver]
Message: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Cannot resolve reference to bean 'dataSourceUnproxied' while setting bean property 'targetDataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceUnproxied': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [oracle.jdbc.OracleDriver]
Line | Method
->> 262 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 744 | run in java.lang.Thread
This is really odd, because it seems Grails cannot load the Oracle database driver... but it loads fine if I run
grails clean
grails run-app
This app I'm working on was upgraded today from Grails 2.2.4. The upgrade was seemless (until this). All I had to do was change the hibernate and tomcat versions then run grails upgrade; grails clean
Any ideas how I can get it so I can modify the code and just restart using grails run-app or better... get the reload functionality to work, so when I make code modifications it automatically compiles the file I just saved (this worked great in Grails 2.2.4).
Have you tried grails -reloading run-app?
Since you have mentioned you have only changed the plugin versions during upgrade, I suppose you are not using forked mode where reloading is enabled by default.
Have a look at Forked Execution and the Reloading Agent. Also note that grails upgrade command has been deprecated in 2.3.*.

Grails: Error including platform-ui plugin in war file

I have created a new Grails 2.2 app that contains the platform-ui-1.0.RC5 plugin. Whenever I use the Grails “run-app” command to start the app in development mode, everything works OK. However, if I run “prod run-war” or war up the app and run it under Tomcat on a separate server, I get the following error:
Oct 31, 2013 8:07:16 AM org.apache.catalina.core.ApplicationContext
log INFO: Initializing Spring root WebApplicationContext Oct 31, 2013
8:07:28 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener
instance of class
org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'instanceTagLibraryApi': Injection of
autowired dependencies failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Could not
autowire method: public void
org.codehaus.groovy.grails.plugins.web.api.TagLibraryApi.setGspTagLibraryLookup(org.codehaus.groovy.grails.web.pages.TagLibraryLookup);
nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'gspTagLibraryLookup': Invocation of init
method failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'org.grails.plugin.platform.ThemeTagLib':
Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsThemes': Cannot resolve reference to
bean 'grailsViewFinder' while setting bean property
'grailsViewFinder'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsViewFinder': Cannot create inner bean
'(inner bean)' while setting bean property 'precompiledGspMap'; nested
exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is java.lang.IllegalStateException: No bean
class specified on bean definition at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at
java.util.concurrent.FutureTask.run(FutureTask.java:166) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722) Caused by:
org.springframework.beans.factory.BeanCreationException: Could not
autowire method: public void
org.codehaus.groovy.grails.plugins.web.api.TagLibraryApi.setGspTagLibraryLookup(org.codehaus.groovy.grails.web.pages.TagLibraryLookup);
nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'gspTagLibraryLookup': Invocation of init
method failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'org.grails.plugin.platform.ThemeTagLib':
Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsThemes': Cannot resolve reference to
bean 'grailsViewFinder' while setting bean property
'grailsViewFinder'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsViewFinder': Cannot create inner bean
'(inner bean)' while setting bean property 'precompiledGspMap'; nested
exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is java.lang.IllegalStateException: No bean
class specified on bean definition ... 5 more Caused by:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'gspTagLibraryLookup': Invocation of init
method failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'org.grails.plugin.platform.ThemeTagLib':
Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsThemes': Cannot resolve reference to
bean 'grailsViewFinder' while setting bean property
'grailsViewFinder'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsViewFinder': Cannot create inner bean
'(inner bean)' while setting bean property 'precompiledGspMap'; nested
exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is java.lang.IllegalStateException: No bean
class specified on bean definition ... 5 more Caused by:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'org.grails.plugin.platform.ThemeTagLib':
Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsThemes': Cannot resolve reference to
bean 'grailsViewFinder' while setting bean property
'grailsViewFinder'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsViewFinder': Cannot create inner bean
'(inner bean)' while setting bean property 'precompiledGspMap'; nested
exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is java.lang.IllegalStateException: No bean
class specified on bean definition ... 5 more Caused by:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsThemes': Cannot resolve reference to
bean 'grailsViewFinder' while setting bean property
'grailsViewFinder'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsViewFinder': Cannot create inner bean
'(inner bean)' while setting bean property 'precompiledGspMap'; nested
exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is java.lang.IllegalStateException: No bean
class specified on bean definition ... 5 more Caused by:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'grailsViewFinder': Cannot create inner bean
'(inner bean)' while setting bean property 'precompiledGspMap'; nested
exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is java.lang.IllegalStateException: No bean
class specified on bean definition ... 5 more Caused by:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is java.lang.IllegalStateException: No bean
class specified on bean definition ... 5 more Caused by:
java.lang.IllegalStateException: No bean class specified on bean
definition ... 5 more
Oct 31, 2013 8:07:28 AM org.apache.catalina.core.StandardContext
startInternal SEVERE: Error listenerStart Oct 31, 2013 8:07:28 AM
org.apache.catalina.core.StandardContext startInternal SEVERE: Context
[/zdummy] startup failed due to previous errors
Here is the “plugins” section of my BuildConfig.groovy file:
plugins {
runtime ":hibernate:$grailsVersion"
runtime ":jquery:1.10.2"
runtime ":resources:1.2"
// Uncomment these (or add new ones) to enable additional resources capabilities
//runtime ":zipped-resources:1.0"
//runtime ":cached-resources:1.0"
//runtime ":yui-minify-resources:0.1.4"
build ":tomcat:$grailsVersion"
runtime ":database-migration:1.2.1"
compile ':cache:1.0.1'
compile ":platform-ui:1.0.RC5"
}
I commented out the platform-ui plugin.
Refreshed the dependencies.
Ran the Grails clean command.
Ran the project using “prod run-war” and it ran correctly.
Any help would be appreciated.
Thanks
David

grails integration test giving java.lang.verify error for enum in domain

I am using grails 2.2.0 when executing command test-app-integration -coverage it is giving error
Error Exception occurred trigger event [TestPhasesEnd]: Could not create a new instance of class [AdminController]! (Use --stacktrace to see the full trace)
| Error Error executing script TestApp: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is java.lang.VerifyError: (class: com/cantina/lab/Movie$FileGroupVideo, method: whereAny signature: (Lgroovy/lang/Closure;)Lgrails/gorm/DetachedCriteria;) Incompatible type for getting or setting field
Move the enum to src/groovy as a workaround. See this jira issue., should be fixed in 2.2.1.

Resources