我无法在 Windows 上启动 Solr 4.10.4,因为它指出:
Java 1.7 or later is required to run Solr
有趣的地方在于,我已经安装了 Java JRE 1.8_102,如果我在命令提示符下键入 java -version,它会正确显示 Java 版本。如果我尝试使用 Solr.cmd -f 在下一行启动,它会给出错误。
为了进行另一级别的测试,我使用了 Solr 5.1.0,它通过 Solr.cmd -f 正常启动
既然能在5.1.0上运行,而且Java版本是正确的,为什么不能在4.10.4上运行呢?
据我所知,我正确设置了 JAVA_HOME 环境变量/路径和注册表项,否则 Solr 5.1.0 将无法启动。 (我指向 HOME 的 jre 目录和路径的 jre\bin)。
最佳答案
我在 6.6.2 中遇到了类似的问题,结果证明是 solr.cmd 脚本中的一个小错误。
在 resolve_java_info 子例程中,它正在对版本进行字符串比较而不是数字比较。所以编辑这段代码:
REM Extract the major Java version, e.g. 7, 8, 9, 10 ...
for /f "tokens=1,2 delims=." %%a in ("!JAVA_VERSION_INFO!") do (
if "%%a" GEQ "9" (
set JAVA_MAJOR_VERSION=%%a
) else (
set JAVA_MAJOR_VERSION=%%b
)
)
和改变
if "%%a" GEQ "9" (
到:
if %%a GEQ 9 (
通过删除引号解决了问题。
关于运行 Solr 需要 Java 1.7 或更高版本,但已安装 1.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46125765/