[ https://issues.apache.org/jira/browse/GROOVY-8649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16516175#comment-16516175 ]
John Wagenleitner commented on GROOVY-8649: ------------------------------------------- This might be due to the new class resolving strategy used by default in 2.5.0 which uses ASM to read class files on the classpath instead of a classloader. I don't know of an easy way to disable the ASM resolving in order to revert back to the prior behavior. But if you have the ability to pass in a {{CompilerConfiguration}} to the {{GroovyClassLoader}} or other compiler your using (assuming it's under your control), something like the following would work to disable the ASM resolving and it would fall back to using the classloader: {code} import org.codehaus.groovy.control.CompilerConfiguration ClassLoader loader = this.getClass().getClassLoader() CompilerConfiguration compilerConfig = new CompilerConfiguration(CompilerConfiguration.DEFAULT) compilerConfig.getOptimizationOptions().put("asmResolving", false) GroovyClassLoader gcl = new GroovyClassLoader(loader, compilerConfig) gcl.parseClass("def obj = new org.example.NonScriptableClass()"){code} > Class loading in Groovy 2.5 breaks class loading hierarchy > ---------------------------------------------------------- > > Key: GROOVY-8649 > URL: https://issues.apache.org/jira/browse/GROOVY-8649 > Project: Groovy > Issue Type: Bug > Components: class generator > Affects Versions: 2.5.0 > Reporter: Alexander Veit > Priority: Blocker > > Prior to Groovy 2.5 GroovyClassLoader passed classes requested by script code > like > {quote}def obj = new org.example.NonScriptableClass(){quote} > to its parent class loader (hereby the NonScriptableClasses are Java classes). > We use this behavior to allow or deny loading of Java classes with the parent > class loader based on certain annotations on the respective class. > With Groovy 2.5 this behavior has changed. org.example.NonScriptableClass is > no more passed to the parent class loader. This breaks our security mechanism. -- This message was sent by Atlassian JIRA (v7.6.3#76005)