@@ -34,13 +34,14 @@ import org.codehaus.groovy.ast.stmt.BlockStatement
3434import org.codehaus.groovy.ast.stmt.ExpressionStatement
3535import org.codehaus.groovy.ast.stmt.ReturnStatement
3636import org.codehaus.groovy.ast.stmt.Statement
37+ import org.codehaus.groovy.ast.tools.GeneralUtils
3738import org.codehaus.groovy.classgen.GeneratorContext
3839import org.codehaus.groovy.control.SourceUnit
3940import org.grails.core.artefact.ApplicationArtefactHandler
4041import org.grails.io.support.GrailsResourceUtils
4142import org.grails.io.support.UrlResource
4243import org.springframework.util.ClassUtils
43-
44+ import static org.codehaus.groovy.ast.tools.GeneralUtils.*
4445import java.lang.reflect.Modifier
4546/**
4647 * Injector for the 'Application' class
@@ -86,8 +87,11 @@ class ApplicationClassInjector implements GrailsArtefactClassInjector {
8687 def enableAgentMethodCall = new MethodCallExpression (new ClassExpression (ClassHelper . make(Support )), " enableAgentIfNotPresent" , arguments)
8788 def methodCallStatement = new ExpressionStatement (enableAgentMethodCall)
8889
89- List<Statement > statements = [ methodCallStatement ]
90- classNode. addStaticInitializerStatements(statements, false )
90+ List<Statement > statements = [
91+ stmt( callX(classX(System ), " setProperty" , args( propX( classX(BuildSettings ), " MAIN_CLASS_NAME" ), constX(classNode. name) )) ),
92+ methodCallStatement
93+ ]
94+ classNode. addStaticInitializerStatements(statements, true )
9195
9296 def packageNamesMethod = classNode. getMethod(' packageNames' , GrailsASTUtils . ZERO_PARAMETERS )
9397
0 commit comments