java - Solr 8.3.1 : could not find or load org. apache.solr.util.SolrCLI

标签 java java-8 solr solr8

所以我是 Solr 的新手,并且大部分时间都使用 Solr 8.3.1(发布时的最新版本)来学习教程。

我在 Windows 10 计算机上安装了 Java 版本 1.8.0_181,并将 solr/bin 添加到了 PATH 变量。

当我运行 solr start 时,我得到:

/d/Program Files and Documents/solr-8.3.1/bin/solr: line 1525: ulimit: -m: invalid option
ulimit: usage: ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]
*** [WARN] *** Your open file limit is currently 256.
 It should be set to 65000 to avoid operational disruption.
 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
*** [WARN] ***  Your Max Processes Limit is currently 256.
 It should be set to 65000 to avoid operational disruption.
 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
/d/Program Files and Documents/solr-8.3.1/bin/solr: line 1542: [: !=: unary operator expected
NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.

Started Solr server on port 8983 (pid=). Happy searching!

这对我来说它开始运行,但是当我运行 solr status 时,我得到:

Found 1 Solr nodes:

Solr process 56136 from /d/Program Files and Documents/solr-8.3.1/bin/solr-8983.pid not found.

这似乎不对。无论如何,我继续学习本教程并运行 solr start -e cloud 并得到:

$ solr start -e cloud
/d/Program Files and Documents/solr-8.3.1/bin/solr: line 1525: ulimit: -m: invalid option
ulimit: usage: ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]
*** [WARN] *** Your open file limit is currently 256.
 It should be set to 65000 to avoid operational disruption.
 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
*** [WARN] ***  Your Max Processes Limit is currently 256.
 It should be set to 65000 to avoid operational disruption.
 If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
/d/Program Files and Documents/solr-8.3.1/bin/solr: line 1542: [: !=: unary operator expected
Error: Could not find or load main class org.apache.solr.util.SolrCLI

我尝试了 solr start -e techproducts 得到了相同的结果。

我已经在早期版本的 Solr 中看到了这个问题的答案,通常答案涉及更新 Solr 版本...我已经是最新版本了?我确信我错过了一些愚蠢的东西,但任何正确方向的指示将不胜感激!非常感谢!

编辑1:解决了!使用基于 Cygwin 的 Git Bash。与 Windows 命令提示符和 Windows Powershell 一起使用就像一个魅力。

solr start 的输出:

Java HotSpot(TM) 64-Bit Server VM warning: JVM cannot use large page memory because it does not have enough privilege to lock pages in memory.
Waiting up to 30 to see Solr running on port 8983
Started Solr server on port 8983. Happy searching!

solr 状态的输出:

Found Solr process 50764 running on port 8983
{
  "solr_home":"D:\\Program Files and Documents\\solr-8.3.1\\server\\solr",
  "version":"8.3.1 a3d456fba2cd1b9892defbcf46a0eb4d4bb4d01f - ishan - 2019-11-29 11:51:37",
  "startTime":"2019-12-19T22:20:25.127Z",
  "uptime":"0 days, 0 hours, 0 minutes, 14 seconds",
  "memory":"176.3 MB (%34.4) of 512 MB"}

solr start -e cloud 的输出:


Welcome to the SolrCloud example!

This interactive session will help you launch a SolrCloud cluster on your local workstation.
To begin, how many Solr nodes would you like to run in your local cluster? (specify 1-4 nodes) [2]:

最佳答案

看起来您正在 cygwin 下从 /d/... 路径运行 *nix 版本的 bin/solr 。在 Windows 下,您应该将 bin/solr.cmd 命令与标准命令行控制台 ('cmd.exe`) 结合使用。

似乎 solr.in 脚本包含 cygwin 内的 bash 版本无法识别的选项。我猜测这也可能会影响类路径的设置,这意味着在预期的位置找不到这些类。

关于java - Solr 8.3.1 : could not find or load org. apache.solr.util.SolrCLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59413167/

相关文章:

java - Spring security 导入在 grails 2.4.4 下不起作用

java - 分割后如何从图像中去除小物体

java.lang.long 不能应用于 java.lang.string?

java - 当函数在 y 时间间隔内抛出异常时,重试函数调用 n 次

Solr + DIH + Tika : indexing huge amount of files, 如何处理删除的文件?

java - 如何在swing中将面板保存为图像?

java - 如何将列表中具有相同值的两个字段的对象合并到一个简化列表中?

database-design - FaceBook搜索:它的技术要求和创新功能有哪些值得关注?

solr - Apache nutch 没有将所有文档索引到 apache solr

java - 如何根据给定列表中的值存在从映射中删除条目?