我无法让 solr (6.3.0) 在 Azure 网站上运行。具体来说,执行以下操作时似乎无法检测 java 版本
"D:\Program Files\Java\zulu8.17.0.3-jdk8.0.102-win_x64\bin\java" -version 2>&1 | findstr /i "version" 1>javavers
type javavers
set /p JAVAVEROUT=<javavers
@REM app_data\bin\solr.cmd start -f -V -p %HTTP_PLATFORM_PORT% -Djava.net.preferIPv4Stack=true
当从 kudu 控制台运行时,此代码运行时没有错误,并且 JAVAVEROUT
按预期设置。但是,当通过 http 平台处理程序运行时,它在最后一行失败,如下所示
D:\home\site\wwwroot>"D:\Program Files\Java\zulu8.17.0.3-jdk8.0.102-win_x64\bin\java" -version 2>&1 | findstr /i "version" 1>javavers
D:\home\site\wwwroot>type javavers
openjdk version "1.8.0_102"
D:\home\site\wwwroot>set /p JAVAVEROUT= 0<javavers
The handle could not be opened
during redirection of handle 0.
有什么想法为什么这在平台处理程序中失败,但可以通过 kudu 控制台工作吗?
作为引用,下面是我正在使用的 web.config。 (Start.cmd 是本文开头的批处理脚本。)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<clear />
<add name="httppPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="d:\home\site\wwwroot\start.cmd"
startupTimeLimit="1"
stdoutLogEnabled="true"
stdoutLogFile="d:\home\LogFiles\httpPlatformStdout.log"
/>
</system.webServer>
</configuration>
最佳答案
仍不确定 solr.cmd
在 azure 网站中失败的根本原因是什么,但应用 https://github.com/apache/lucene-solr/pull/113解决该问题,因为它删除了导致 solr.cmd 启动失败的代码
关于java - 无法在 Azure Web 应用上运行 Solr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40794626/