在Windows服务器上运行jetty + solr

时间:2012-03-02 11:11:56

标签: java windows service solr jetty

我正在尝试为Windows创建服务。

我有.bat脚本,用solr启动jetty:

cd ../jetty
java -Djetty.home="C:/Webs/lrt-archyvas/jetty" -Djava.ext.dirs="C:/Webs/lrt-archyvas/parts/jetty-download/lib;C:/Webs/lrt-archyvas/parts/jetty-download/lib/jsp" -jar C:/Webs/lrt-archyvas/parts/jetty-download/start.jar C:/Webs/lrt-archyvas/jetty/etc/jetty.xml C:/Webs/lrt-archyvas/jetty/etc/jetty-deploy.xml C:/Webs/lrt-archyvas/jetty/etc/jetty-webapps.xml OPTIONS=Server,jmx,resources,websocket,ext,plus,annotations

我想创建服务,在这种情况下,我想使用这个http://drupal.org/node/1359598教程。

问题是我无法使用cd进入jetty目录。我必须在参数中设置它,但我无法。

当我从其他目录运行此脚本时,我得到以下内容:

2012-03-02 13:04:51.493:INFO::jetty-7.3.1.v20110307
2012-03-02 13:04:51.511:INFO::Deployment monitor C:\Webs\lrt-archyvas\bin\webapp
s at interval 1
2012-03-02 13:04:51.538:INFO::Started SelectChannelConnector@0.0.0.0:8080

它使用“C:\ Webs \ lrt-archyvas \ bin \”(cwd)作为jetty.home来加载webapps。我将其设置为C:/Webs/lrt-archyvas/jetty

我该如何覆盖?

4 个答案:

答案 0 :(得分:1)

您可以在java命令行上使用-Djetty.home =“C:\ foo”设置jetty.home

(你也应该使用windows路径来工作我怀疑,因此反斜杠)

码头启动机制应选择此设置并从那里开始操作

我应该补充一点,因为这是显然正在使用的jetty 7,应该有一个start.ini文件,你应该可以指定选项和xml文件。您可以使用--dry-run选项来获取正在使用的实际选项字符串。

如果您尝试使用--dry-run,您应该能够将精确的字符串删除到该服务窗口以便工作。这应该采取一些繁琐的过程来确定正确的字符串。

欢呼声

答案 1 :(得分:0)

我担心不是很有帮助...... 你能告诉我们更多细节吗? 您尝试使用哪种软件将应用程序设置为Windows服务。 不知道你是否有能力使用这个产品,但它是一个非常好的产品: tutorial article download page

您是否编辑过start.config Jetty文件?我想它可能会被jar文件的错误位置弄糊涂(Jetty home在Jetty中计算如此)....

HTH 杰罗姆

答案 2 :(得分:0)

您可以尝试使用Apache Commons Daemon项目中的procrun。以下帖子有很多细节。

Running Jetty 7 as Windows Service

答案 3 :(得分:0)

您可以轻松地作为Windows服务运行Solr可用于执行 Solr Windows Service一体化软件包也是分发的。

http://exewrap.sourceforge.jp/solr/