2017-08-31 222 views
3

我本週升級到Spring STS的新3.9.0版本。除了當我啓動一個Spring Boot web應用程序(spring啓動版本1.5.3)時,一切都很好,我得到一個錯誤。Spring STS 3.9.0與Spring Boot devtools問題

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 

會話數據:

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 

一切工作與服務器當我改變代碼除,devtools不會重新加載該應用程序。我必須手動重新啓動它。

我最初使用現有工作空間(它自動升級),但我也試着:

  • 啓動Eclipse與-clean
  • 切換到進口的喜好和相同的項目,一個完全新的工作區,
  • 切換到一個全新的工作空間沒有首選項,但相同的項目,然後手動導入首選項。
  • 將Spring Boot升級到1.5.6(其中包括devtools)。

如果我切換到全新的工作區,導入項目並從未導入我的設置,它終於開始沒有錯誤。

我希望能夠導入我的設置,因爲我發送了幾個月到達該狀態。

回答

0

我曾經遇到過同樣的問題,但是在將Boot的啓動cli版本從Boot 1.5.4.RELEASE更改爲Boot 1.5.8.RELEASE之後,它對我來說工作正常。
從 下載release/org/springframework/boot/spring-boot-cli

將其保存到本地文件夾並添加到此處。清理並重建項目。就這樣 !

enter image description here