【问题标题】:Running Solr with Jetty使用 Jetty 运行 Solr
【发布时间】:2013-03-05 20:13:57
【问题描述】:

我在理解 Solr 如何与 Jetty 相适应,以及为什么我似乎无法让分发包中的 start.jar 工作时遇到了一点麻烦。

我可以通过java -jar start.jar 运行所有示例配置。但是,当我尝试运行类似以下内容时--

java -Dsolr.solr.home=/Users/jwwest/solr -jar $(brew --prefix solr)/libexec/example/start.jar

--出现以下错误:

java.io.FileNotFoundException: No XML configuration files specified in start.config or command line.
    at org.eclipse.jetty.start.Main.start(Main.java:506)
    at org.eclipse.jetty.start.Main.main(Main.java:95)

我打开了 start.jar 文件,并且在 jar 内有一个 start.config 文件,我假设它应该为我处理这个配置。我不明白为什么从分发示例目录内部运行它会起作用,而不是在它外部运行。

【问题讨论】:

  • 在运行 SOLR 时几乎不需要配置 Jetty,所有的配置工作大部分都在你的 solr 设置中完成。 (solrconfig.xml)。我碰巧使用 ubuntu/debian,通常只需执行 apt-get install solr-jetty 然后您需要为 solr 定义架构并创建核心。您将使用 jetty init 启动脚本来启动它。我从不碰 start.jar

标签: solr jetty


【解决方案1】:

您还需要定义jetty.home 属性。试试:

java -Dsolr.solr.home=/Users/jwwest/solr -jar $(brew --prefix solr)/libexec/example/start.jar -Djetty.home=$(brew --prefix solr)/libexec/example

【讨论】:

  • 你救了我的培根!谢谢瑞恩!
【解决方案2】:

使用 --dry-run 命令行标志可以看到 start.jar 生成的有效命令行。

java -jar start.jar --dry-run

这将输出具有完整路径名的所有内容,以便您可以从目录外部运行它。

来源:http://www.eclipse.org/jetty/documentation/9.0.0.M3/advanced-jetty-start.html

【讨论】:

    【解决方案3】:

    start.jar 是一个特定于 Jetty 的机制,用于构建启动 Jetty 的所有类路径要求。一般只在码头分布范围内使用。将 start.jar 从配置中拉出并将其放置在其他位置会使 start.config 的默认配置变得毫无意义。

    我对 Solr 的理解是,它将自己与 jetty 的分发捆绑在一起,将运行所需的内容放入分发中并将其重新打包为自己的。他们可能有一个自定义的 start.config 文件,该文件进一步添加了自己的类路径资源等位置,或者没有。

    您看到的异常源于 start.config 文件,该文件需要一个 etc/ 目录,其中包含用于配置 jetty 进程的 jetty.xml 格式的 xml 文件。

    Jetty 经常以嵌入式格式使用与这个问题几乎没有关系,它只是一个常见的用例,因为 jetty 非常容易嵌入到应用程序中。 jetty 的嵌入式实例很少(如果有的话)利用 start.jar...而是由嵌入应用程序来管理自己的类路径。

    【讨论】:

      【解决方案4】:

      首先,您需要更改start.jar所在的文件夹,然后执行相同的命令。

      【讨论】:

        【解决方案5】:

        Jetty 通常用作嵌入式容器。如果您想使用码头,那么一个好的开始是复制示例目录并将其重命名为您想要的名称。 solr 目录是基本配置的目录。

        否则建议使用tomcat和solr.war文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-16
          • 2016-02-29
          • 1970-01-01
          • 1970-01-01
          • 2023-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多