59

I have a 1.1.7 spring-boot app using Gradle 1.10 & jdk1.8. I use Groovy/Spock for testing It has two dependencies - jars build with Apache Maven 3.1.1 and jdk 1.8. I build the jars and them copy them into the /lib directory. Then I try and build with "gradle clean build.

Here is part of my gradle file:

apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'jacoco'
apply plugin: 'maven'

project.ext {
    springBootVersion = '1.1.7.RELEASE'
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
buildscript {
    repositories {
        flatDir {
            dirs "$rootProject.projectDir/libs"
        }
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
        maven { url "http://repo.spring.io/libs-milestone" }
        maven { url "http://repo.spring.io/libs-snapshot" }
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.5.RELEASE")
  testCompile('org.spockframework:spock-core:1.0-groovy-2.0') {
    exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}

  testCompile('org.spockframework:spock-spring:1.0-groovy-2.0') {
    exclude group: 'org.spockframework', module: 'spock-core'
    exclude group: 'org.spockframework', module: 'spring-beans'
    exclude group: 'org.spockframework', module: 'spring-test'
    exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}

   testCompile("org.springframework.boot:spring-boot-starter-test:$springBootVersion")
    testCompile('org.codehaus.groovy.modules.http-builder:http-builder:0.7+')
    testCompile("junit:junit")
    }
}

jacocoTestReport {
    group = "Reporting"
    description = "Generate Jacoco coverage reports after running tests."
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.11'
}

Regardless of building in from command line or IntelliJ I get the following error:

Executing org.gradle.api.internal.tasks.compile.ApiGroovyCompiler@5474aad4 in compiler daemon.
Exception executing org.gradle.api.internal.tasks.compile.ApiGroovyCompiler@5474aad4 in compiler daemon: BUG! exception in phase 'semantic analysis' in source unit '/Users/David/projects/.../controller/AboutControllerTest.groovy' sun.reflect.annotation.TypeNotPresentExceptionProxy.
:compileTestGroovy FAILED

Here is the stacktrace:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileTestGroovy'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:62)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:158)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:155)
        at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:36)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:103)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:97)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:97)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:102)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:32)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:77)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:47)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: BUG! exception in phase 'semantic analysis' in source unit '/Users/David/projects/.../src/test/groovy/.../controller/AboutControllerTest.groovy' sun.reflect.annotation.TypeNotPresentExceptionProxy
        at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:152)
        at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:51)
        at org.gradle.api.internal.tasks.compile.daemon.CompilerDaemonServer.execute(CompilerDaemonServer.java:53)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
        ... 8 more

There is nothing wrong with that, or any other test, as it has not changed in months. In fact, the problem seems to have started when I added the two jar files to the project. However, I have not been able to find an answer to this particular error message anywhere.

7
  • Did you look at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler? Commented Oct 2, 2015 at 5:29
  • 2
    have you tried with a non-ancient version of gradle? Commented Oct 2, 2015 at 9:50
  • I upgraded to gradle 2.6 and I still get same error. I also looked at ApiGroovyCompiler but didnt' see anything relevant to this. Granted, I can't say that I totally understood everything going in there either. Commented Oct 2, 2015 at 14:30
  • 1
    Does the error go away if you temporarily remove the test class in question? Commented Oct 2, 2015 at 14:44
  • I don't get it...that test hadn't been touched in months but when I deleted it, that error no longer occurred. What could cause that? Commented Oct 2, 2015 at 16:49

11 Answers 11

26

I had this BUG! exception in phase 'semantic analysis' in source unit '...' issue today and upgrading gradle (as mentioned in a comment) didn't work. gradle clean was not working either.

What worked for me was cleaning the gradle cache:

rm -rf $HOME/.gradle/caches/

and project gradle directory

rm -rf $PROJECT/.gradle/caches/ && rm -rf $PROJECT/build/

Related How can I force gradle to redownload dependencies?

Sign up to request clarification or add additional context in comments.

1 Comment

I use maven in my project, so doing mvn clean did the job
17

My issue was that I used Java 16 and Gradle 6.5. But Gradle 6.5 does not support Java 16. I needed to upgrade to 7.0. I did this by changing gradle/wrapper/gradle-wrapper.properties in this line:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip

1 Comment

Or you can also downgrade your Java version if upgrading Gradle is not an option.
16

I'm seeing the same error only when I use the Java 11 JVM:

$ gradle -v

------------------------------------------------------------
Gradle 5.2.1
------------------------------------------------------------

Build time:   2019-02-08 19:00:10 UTC
Revision:     f02764e074c32ee8851a4e1877dd1fea8ffb7183

Kotlin DSL:   1.1.3
Kotlin:       1.3.20
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          11 (Oracle Corporation 11+28)
OS:           Mac OS X 10.14.3 x86_64

The error goes away when I drop back to Java 1.8 (I changed JAVA_HOME):

$ gradle -v

------------------------------------------------------------
Gradle 5.2.1
------------------------------------------------------------

Build time:   2019-02-08 19:00:10 UTC
Revision:     f02764e074c32ee8851a4e1877dd1fea8ffb7183

Kotlin DSL:   1.1.3
Kotlin:       1.3.20
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          1.8.0_191 (Oracle Corporation 25.191-b12)
OS:           Mac OS X 10.14.3 x86_64

2 Comments

Can you specify the steps to go back to Java 1.8
On the Mac I simply changed the JAVA_HOME environment variable to point at the still-installed 1.8 JDK. I've moved on to new client since then and don't have that Mac anymore so I can't really give you exact step-by-step instructions.
11

Encountered the same problem while migrating SAP hybris from version 6.6 (java 8) to 2005 (java 11). The problem was encountered while ant clean all and recipe installation.

Error:

hybris/bin/modules/text-field-configurator-template/textfieldconfiguratortemplateocctests/testsrc/de/hybris/platform/textfieldconfiguratortemplateocctests/controllers/ProductTextfieldConfiguratorControllerTest.groovy' null

Resolution: Solved the problem by commenting/removing below property from config/local.properties

build.parallel=true

2 Comments

lol how did you find out, that this property is responsible for the issue? Without you I'd still be stuck for the next few weeks.....
for the record, the file is: .\hybris\config\local.properties.
9

I think this is cause by java version is high, or we can say gradle version is too low.

so I just use higher version Gradle. I think it's better than change JDK version to 1.8.

My config(I already have gradle 6.5, and I think maybe 6.x will satisfy):

just change the gradle version to 6.5 in android\gradle\wrapper\gradle-wrapper.properties

1 Comment

I had to set gradle version to 7.2 to use it with the jdk 16.0.2 (inside the gradle-wrapper.properties)
3

This happened to me when I upgraded my project with groovy Spock tests from JDK 8 to JDK 11.

The fix was to upgrade spock version to 1.3-groovy-2.5 and groovy version to 2.5.3 for my gradle dependencies.

In addition, in my case, I had to add implementation of jaxws and jaxb to my dependencies as they have been removed from JDK 11:

    implementation 'com.sun.xml.ws:jaxws-ri:2.3.2'
    implementation 'com.sun.xml.bind:jaxb-impl:2.4.0-b180830.0438'

1 Comment

This was the solution for me. I had to update the version of groovy-all from 3.0.11 to 3.0.17. This seems to have added Java 21 support
2

You can check if your Gradle version is compatible with your Java version

Gradle compatibility

I upgraded my Gradle version to the latest compatible with my Java version and the error was gone.

Comments

1

In my case the reason was IntellijIdea variable generation.

Example: Idea generated List<@NotNull UUID> locationIds instead of List<UUID> locationIds

Groovy compilation failed to process this @NotNull annotation inside generic brackets

Comments

0

Make sure that build:gradle version in build.gradle and distributionUrl in gradle-wrapper.properties are compatible

Comments

0

I ran into this upgrading Java on a Grails + Groovy project and I had to do two things:

  1. Upgrade Grails to a version compatible with the JDK version I'm using. Thankfully they provide a nice compatibility matrix

  2. Upgrade Groovy likewise. Groovy has a matrix for the minimum version of Java required for each version of Groovy, but doesn't seem to show the version of Groovy required for each version of Java.

    In my case, I was using JDK 17 and I found this buried in a GitHub issue:

    JDK 17 requires asm 9.1 and Groovy 3.0.8 is the first version to support it.

    (https://github.com/grails/grails-core/issues/12152)

Comments

0

If you are from a flutter background, and having build issues when app signing with the latest java version 👇🏽

gradlew signingReport 

remove android/.gradle and replace

distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip

in android/gradle/wrapper/gradle-wrapper.properties

try a clean build

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.