[英]Does Spring Cloud Dataflow Local Server need to connect zookeeper?
[英]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')
cd C:\\ Program Files \\ Java \\ jre1.8.0_131 \\ bin
(notice: in the path "jre1.8" not jdk
)
复制java.exe java
错误/解决方法摘要:
该错误基本上是...开发人员期望Java可执行文件名为java
而不是Windows操作系统上命名的java.exe
。 因此,解决方法是制作一个java.exe副本并将其在该JRE的bin目录中命名为java ...
不知道这样的事情如何使其进入生产版本...:/
此错误已在1.2.3版本中修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.