【问题标题】:Best Way to Setup Solr (Ant vs Maven)?设置 Solr 的最佳方法(Ant vs Maven)?
【发布时间】:2012-04-10 21:34:07
【问题描述】:

我有一个当前使用 ant 构建的项目,它通过 git 将 Solr 的最新主干版本拉入,然后通过 ant 构建。在这一点上,我已经习惯了 Maven 及其依赖系统,并且发现我们旧的 ant 做事方式非常混乱且难以维护。话虽如此,基本上我在网上看到的所有地方,人们都在用 Ant 构建 solr,而我发现的一些用 Maven 做事的教程都是this one,这似乎不起作用。

所以,明确地说,我在这里寻找的只是一种在 Eclipse 中开发项目并能够部署它的干净方法。我敢肯定,以前一定有人这样做过,并且必须有一个很好的答案。我真的很想听听。

【问题讨论】:

    标签: java maven ant solr


    【解决方案1】:

    我刚刚通过将所有依赖项放入 Maven 中,为 Solr 4.0-SNAPSHOT 的挂钩版本创建自己的 repo,将 web.xml 从其中复制到 src/main/webapp/WEB-INF/ 中,然后运行通过 mvn jetty:run 使用作为参数传入的显着变量:

    mvn jetty:run -Dsolr.dataDir="./solr-data" -Dsolr.master-host="localhost" -Dsolr.solr.home="./solr-home"
    

    官方不支持这种方法,但这意味着我不再需要为丑陋的 ant 配置而烦恼,或者将所有 Lucene 和 Solr 保存在附加到我的项目的 git repos 中,这样我就可以使用它们进行构建。这也意味着更改/更新版本只需要在我的 pom.xml 中进行一行更改,而不是挖掘和切换一大堆无关的配置。我很高兴,一旦我对 Solr 的工作方式有了更好的了解,重新配置项目真的没那么糟糕。

    【讨论】:

    • 恭喜。你可能应该接受你自己的答案。干杯
    【解决方案2】:

    这个答案可能更多是评论,但评论太小,无法全部暴露。

    我对 Solr 一无所知,但从中立的角度,我会说你有两个选择:

    1. Mavenize Solr(看起来像您文章中建议的那样)。也许您可以发布另一个问题,说明您在使用他们的解决方案时遇到了什么问题。
    2. 使用 maven-antrun-plugin 调用原始 ant 任务。这也可能需要附加构建的 jars(或者如果它只包含类/资源,请先将它们 jar)。您可以决定使用 maven-install-plugin 在本地安装它们,或者使用 maven-build-helper-plugin 附加它们。

    在 Eclipse 中,有很多技巧可以访问构建的文件。您可以简单地将项目添加为依赖项。

    第二个选项应该可以,但我觉得它不是很干净

    【讨论】:

      【解决方案3】:

      如果您愿意,您应该能够使用 Maven,我知道一些 Solr 开发人员会这样做。看看这里:http://wiki.apache.org/solr/HowToContribute#Maven。虽然这不是最受支持的方式,但我无法为您提供帮助,因为我从未尝试过。

      我实际上是在使用 Solr + Ant,基本上所有事情都有一个任务:ant testant dist 等等。我同意这有点过时,但它有效。最近,构建有了很大改进,引入了 Ivy 作为依赖管理工具,以便从源代码树中删除所有 jar。

      如果您对 ant 有一些具体问题,请告诉我,也许我可以为您提供更多帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-08
        • 2014-01-08
        • 2015-11-23
        • 2015-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多