Подтвердить что ты не робот

Запуск Solr с причалом

У меня возникли проблемы с пониманием того, как Solr вписывается в Jetty, и почему я не могу заставить start.jar в дистрибутиве работать.

Я могу запустить все примеры конфигураций с помощью java -jar start.jar. Однако, когда я пытаюсь запустить что-то вроде follwing -

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, и есть файл start.config, расположенный внутри банки, который, как я предполагаю, должен обрабатывать эту конфигурацию для меня. Я не понимаю, почему он будет работать при запуске из каталога примеров дистрибутивов, но не за его пределами.

4b9b3361

Ответ 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

Вы можете увидеть эффективную командную строку start.jar, используя флаг командной строки -dry-run.

java -jar start.jar --dry-run

Это будет выводить все с полными именами путей, чтобы вы могли запускать его извне каталога.

Источник: http://www.eclipse.org/jetty/documentation/9.0.0.M3/advanced-jetty-start.html

Ответ 3

Start.jar - специфический механизм причала, который работает, чтобы выработать все требования к траектории класса для запуска Jetty. Он обычно используется только в области распределения причала. Вытягивание start.jar из конфигурации и размещение его в другом месте делает конфигурацию start.config по умолчанию невысокой.

Мое понимание Solr заключается в том, что он связывает себя с распределением причала, помещая то, что ему нужно, чтобы запустить в дистрибутив и переупаковать его как свое. У них может быть собственный файл start.config, который дополнительно добавляет свои собственные местоположения для ресурсов пути к классам и тому подобное, или нет.

Исключение, которое вы видите, связано с файлом start.config, ожидающим каталога etc/, содержащего XML файлы, форматированные jetty.xml, которые используются для настройки процесса причала.

Jetty, часто используемая во встроенном формате, имеет мало общего с этой проблемой, это просто обычный вариант использования, потому что Jetty невероятно легко внедряется в приложение. Встраиваемые экземпляры причала редко (если вообще когда-либо) используют start.jar... вместо этого приложение внедрения должно управлять своим собственным пути к классам.

Ответ 4

Сначала вам нужно изменить папку, в которой находится start.jar, а затем выполнить ту же команду.

Ответ 5

Jetty часто используется как встроенный контейнер. Если вы хотите использовать пристань, то хорошим началом было бы скопировать каталог примеров и переименовать его в то, что вы хотите. Каталог solr - это базовая конфигурация.

Кроме того, рекомендуется использовать tomcat и файл solr.war.