簡體   English   中英

Spring Cloud DataFlow Local-Server 1.2.2無法在Windows 10上啟動

[英]Spring Cloud DataFlow Local-Server 1.2.2 fails to startup on Windows 10

我正在嘗試通過此鏈接http://cloud.spring.io/spring-cloud-dataflow/#quick-start上的Spring Cloud數據流教程。

在步驟2時,執行以下行

java -jar spring-cloud-dataflow-server-local-1.2.2.RELEASE.jar

導致以下異常:

2017-07-01 16:21:00.218 WARN 3224 --- [ main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'taskService' defined in class path resource [org/springframework/cloud/dataflow/server/config/features/TaskConfiguration.class]: Unsatisfied dependency expressed through method 'taskService' parameter 5; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'taskLauncher' defined in class path resource [org/springframework/cloud/deployer/spi/local/LocalDeployerAutoConfiguration.class]: Unsatisfied dependency expressed through method 'taskLauncher' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.deployer.local-org.springframework.cloud.deployer.spi.local.LocalDeployerProperties': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.deployer.spi.local.LocalDeployerProperties]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: Java executable discovered via 'java.home' system property 'C:\\Program Files\\Java\\jdk1.8.0_131\\jre' is not executable or does not exist.

我認為關鍵是'c:\\ program files \\ java \\ jdk1.8.0_131 \\ jre'似乎是Java二進制文件的錯誤路徑。 我希望這是%JRE_HOME%\\ bin目錄。

我編寫了一個小程序來轉儲產生以下內容的系統屬性:

java.home: C:\\Program Files\\Java\\jdk1.8.0_131\\jre

我的JAVA_HOME,JRE_HOME,CLASSPATH和JDK_HOME環境變量設置如下

JAVA_HOME C:\Program Files\Java\jdk1.8.0_131
JDK_HOME %JAVA_HOME%
JRE_HOME %JAVA_HOME%\jre
CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib

PATH變量設置為%JAVA_HOME%\\ bin

我已經多次重啟命令提示符。

當我為1.1.4版本運行以下命令時,服務器啟動時沒有錯誤:

java -jar spring-cloud-dataflow-server-local-1.1.4.RELEASE.jar

我試圖刪除JRE_HOME變量並將CLASSPATH設置為。

更新:添加dir c:\\ java.exe / s / b的輸出

c:\Program Files\Java\jdk1.8.0_131\bin\java.exe
c:\Program Files\Java\jdk1.8.0_131\jre\bin\java.exe
c:\Program Files\Java\jre1.8.0_131\bin\java.exe
c:\Program Files (x86)\Java\jre1.8.0_131\bin\java.exe
c:\ProgramData\Oracle\Java\javapath\java.exe
c:\ProgramData\Oracle\Java\javapath_target_260505593\java.exe
c:\Users\All Users\Oracle\Java\javapath\java.exe
c:\Users\All Users\Oracle\Java\javapath_target_260505593\java.exe

這是一個錯誤:(僅影響1.2.2RELEASE,並由1.2.3RELEASE修復)

https://github.com/spring-cloud/spring-cloud-deployer-local/issues/58

“解決方法”解決方案是轉到系統上Java的JRE路徑並運行以下命令

(請注意其他用戶在命令提示符窗口中找到您的Java路徑類型echo %JAVA_HOME% ,如果Java主目錄路徑中存在“ jdk”,請確保將以下“ cd”命令將其更改為“ jre”。我們需要導航到jre目錄而不是jdk,我們還附加了'\\ bin')

  1. 導航到JRE的bin目錄

cd C:\\ Program Files \\ Java \\ jre1.8.0_131 \\ bin (notice: in the path "jre1.8" not jdk

  1. 在同一目錄中復制名為“ java”的“ java.exe”

復制java.exe java

錯誤/解決方法摘要:

該錯誤基本上是...開發人員期望Java可執行文件名為java而不是Windows操作系統上命名的java.exe 因此,解決方法是制作一個java.exe副本並將其在該JRE的bin目錄中命名為java ...

不知道這樣的事情如何使其進入生產版本...:/

此錯誤已在1.2.3版本中修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM