Ответ 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
У меня возникли проблемы с пониманием того, как 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, расположенный внутри банки, который, как я предполагаю, должен обрабатывать эту конфигурацию для меня. Я не понимаю, почему он будет работать при запуске из каталога примеров дистрибутивов, но не за его пределами.
Вам также необходимо определить свойство jetty.home
. Попробуйте:
java -Dsolr.solr.home=/Users/jwwest/solr -jar $(brew --prefix solr)/libexec/example/start.jar -Djetty.home=$(brew --prefix solr)/libexec/example
Вы можете увидеть эффективную командную строку start.jar, используя флаг командной строки -dry-run.
java -jar start.jar --dry-run
Это будет выводить все с полными именами путей, чтобы вы могли запускать его извне каталога.
Источник: http://www.eclipse.org/jetty/documentation/9.0.0.M3/advanced-jetty-start.html
Start.jar - специфический механизм причала, который работает, чтобы выработать все требования к траектории класса для запуска Jetty. Он обычно используется только в области распределения причала. Вытягивание start.jar из конфигурации и размещение его в другом месте делает конфигурацию start.config по умолчанию невысокой.
Мое понимание Solr заключается в том, что он связывает себя с распределением причала, помещая то, что ему нужно, чтобы запустить в дистрибутив и переупаковать его как свое. У них может быть собственный файл start.config, который дополнительно добавляет свои собственные местоположения для ресурсов пути к классам и тому подобное, или нет.
Исключение, которое вы видите, связано с файлом start.config, ожидающим каталога etc/, содержащего XML файлы, форматированные jetty.xml, которые используются для настройки процесса причала.
Jetty, часто используемая во встроенном формате, имеет мало общего с этой проблемой, это просто обычный вариант использования, потому что Jetty невероятно легко внедряется в приложение. Встраиваемые экземпляры причала редко (если вообще когда-либо) используют start.jar... вместо этого приложение внедрения должно управлять своим собственным пути к классам.
Сначала вам нужно изменить папку, в которой находится start.jar
, а затем выполнить ту же команду.
Jetty часто используется как встроенный контейнер. Если вы хотите использовать пристань, то хорошим началом было бы скопировать каталог примеров и переименовать его в то, что вы хотите. Каталог solr - это базовая конфигурация.
Кроме того, рекомендуется использовать tomcat и файл solr.war.