Скрипт для запуска команд при запуске apache karaf
Когда я запускаю karaf, мне нужно установить в него некоторые функции. Для этого я даю такие команды:
install -s mvn:org.apache.derby/derby/10.8.2.2
feature:install jndi jpa transaction http
Я хочу автоматизировать эту вещь, так как я хочу запустить karaf сам по себе при перезагрузке. Я прочитал, что я могу запустить его при перезагрузке с помощью службы оболочки:. Но следующий вопрос на мой взгляд, как я буду давать эти команды.
Я прочитал, что это можно сделать с помощью etc / shell.init.script. Но я не могу понять примеры, приведенные на странице сценариев сайта karaf.
Последние строки в файле shell.init.script в моем карафе:
help = { *:help $args | more } ;
man = { help $args } ;
log:list = { log:get ALL } ;
Должен ли я просто написать эти команды ниже этих строк, или мне нужно написать некоторые функции, подобные приведенным на странице сценариев (одна из которых приведена ниже), о которых я понятия не имею.
#
# Add a value at the end of a property in the given OSGi configuration
#
# For example:
# > config-add-to-list org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories http://scala-tools.org/repo-releases
#
config-add-to-list = {
config:edit $1 ;
a = (config:property-list | grep --color never $2 | tac) ;
b = (echo $a | grep --color never "\b$3\b" | tac) ;
if { ($b trim) isEmpty } {
if { $a isEmpty } {
config:property-set $2 $3
} {
config:property-append $2 ", $3"
} ;
config:update
} {
config:cancel
}
}
2 ответа
Изучив еще несколько концепций и выполнив некоторые действия, я обнаружил, что эти команды могут быть записаны в сценарии, но его необходимо указывать вместе с пакетом (я не знаю, как назвать его пакетом или пакетом).
Эти команды могут быть даны в этой форме:
bundle:install -s mvn:org.apache.derby/derby/10.8.2.2
feature:install jndi jpa transaction http
shell:echo "in script"
Вы можете добавить компоненты (и репозитории компонентов) для установки при запуске в 'org.apache.karaf.features.cfg' в разделах featuresRepositories и featuresBoot.