问题可能是您的 Windows 环境的 JAVA_HOME 环境设置中存在空格(由 "C:\Program" 而不是 "C:\Program Files..." 的错误消息证明。
您可以通过添加将 schema-registry-run-class 脚本中的最后一个“exec”替换为单词“echo”来确定启动 schema_registry 的最终 java 调用的确切语法。你会看到相当复杂的命令
/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java -Xmx512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+DisableExplicitGC -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dlog4j.configuration=file:/opt/confluent/bin/../etc/schema-registry/log4j.properties -cp :/opt/confluent/bin/../package-schema-registry/target/kafka-schema-registry-package-*-development/share/java/schema-registry/*:/opt/confluent/bin/../share/java/confluent-common/*:/opt/confluent/bin/../share/java/rest-utils/*:/opt/confluent/bin/../share/java/schema-registry/* io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain
该命令归结为“java [core-java-opts] [java-defines] -cp [classpath] io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain
如果你用你的 Confluent 安装的实际位置替换“/opt/confluent”引用,我怀疑你会有更好的运气。
注意:我更喜欢在 Windows 上将 Java 安装到客户位置(例如“C:\java8”,因为许多标准脚本会在 C:\Program Files 部署位置出现问题。