Issue with Spring STS 3.9.0 with Spring Boot devtools

5.8k views Asked by At

I upgraded this week to the new 3.9.0 version of Spring STS. Everything is fine except when I start a Spring Boot web app (spring boot version 1.5.3), I get an error.

An internal error occurred during: "Ready state poller".
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3932)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3936)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4806)
    at org.springframework.ide.eclipse.boot.dash.model.LocalCloudServiceDashElement.getLaunchConfigs(LocalCloudServiceDashElement.java:144)
    at org.springframework.ide.eclipse.boot.dash.model.AbstractLaunchConfigurationsDashElement$4.stateChanged(AbstractLaunchConfigurationsDashElement.java:434)
    at org.springframework.ide.eclipse.boot.dash.model.AbstractLaunchConfigurationsDashElement$4.stateChanged(AbstractLaunchConfigurationsDashElement.java:1)
    at org.springframework.ide.eclipse.boot.dash.util.RunStateTracker.updateOwnerStatesAndFireEvents(RunStateTracker.java:216)
    at org.springframework.ide.eclipse.boot.dash.util.RunStateTracker.access$0(RunStateTracker.java:208)
    at org.springframework.ide.eclipse.boot.dash.util.RunStateTracker$1.gotValue(RunStateTracker.java:151)
    at org.springframework.ide.eclipse.boot.dash.util.RunStateTracker$1.gotValue(RunStateTracker.java:1)
    at org.springsource.ide.eclipse.commons.livexp.core.LiveExpression.changed(LiveExpression.java:114)
    at org.springsource.ide.eclipse.commons.livexp.core.LiveExpression.refresh(LiveExpression.java:71)
    at org.springsource.ide.eclipse.commons.livexp.core.LiveVariable.setValue(LiveVariable.java:46)
    at org.springframework.ide.eclipse.boot.dash.util.AbstractPollingAppReadyStateMonitor$1.run(AbstractPollingAppReadyStateMonitor.java:51)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: java.lang.NullPointerException
    at org.eclipse.debug.internal.core.LaunchManager.isValidLaunchConfigurationName(LaunchManager.java:2706)
    at org.eclipse.debug.internal.core.LaunchConfigurationType.newInstance(LaunchConfigurationType.java:473)
    at org.springframework.ide.eclipse.boot.launch.cli.CloudCliServiceLaunchConfigurationDelegate.createLaunchConfig(CloudCliServiceLaunchConfigurationDelegate.java:156)
    at org.springframework.ide.eclipse.boot.dash.model.LocalCloudServiceDashElement$1.load(LocalCloudServiceDashElement.java:68)
    at org.springframework.ide.eclipse.boot.dash.model.LocalCloudServiceDashElement$1.load(LocalCloudServiceDashElement.java:1)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193)
    ... 15 more

Session Data:

eclipse.buildId=3.9.0.201707061823-RELEASE-e47
java.version=1.8.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product org.springsource.sts.ide -product org.springsource.sts.ide
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.springsource.sts.ide -data C:\Jeff Local\Workspace\gisp_3.9.0 -product org.springsource.sts.ide

Everything works with the server except when I change code, devtools doesn't reload the application. I have to restart it manually.

I initially used an existing workspace (which it upgraded automatically), but I've also tried:

  • Starting eclipse with -clean,
  • Switching to a totally new workspace with preferences and same projects imported,
  • Switching to a totally new workspace with no preferences, but same projects, then manually importing preferences.
  • Upgrading Spring Boot to 1.5.6 (which includes devtools).

It finally started with no error if I switched to a totally new workspace, import the projects and never imported my settings.

I would like to be able to import my settings as I sent months getting it to that state.

2

There are 2 answers

1
Martin Lippert On BEST ANSWER

I think the stack trace that you posted in this issue: https://github.com/spring-projects/spring-ide/issues/182

I would recommend to follow up on that issue on GitHub.

0
GoutamS On

I had the same problem once,but after changing spring boot cli version from Boot 1.5.4.RELEASE to Boot 1.5.8.RELEASE, it works fine for me.
Download from release/org/springframework/boot/spring-boot-cli

Save it to local folder and add here. Clean and Rebuild the project. Thats all !

enter image description here