当我运行karaf时,我需要在其中安装一些特性。为此,我发出如下命令:
install -s mvn:org.apache.derby/derby/10.8.2.2
feature:install jndi jpa transaction http我想自动化这个东西,因为我想启动自己的卡拉夫在重新启动。我已经读到,我可以在重新启动时使用包装器:服务启动它。但我的下一个问题是,我将如何发出这些命令。
我读到它可以用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
}
}发布于 2015-04-15 06:28:48
在研究了更多的概念并做了一些点击和跟踪之后,我发现这些命令可以在脚本中编写,但是必须用它的包来指定它(我不知道如何称呼它为包或包)
这些命令可以用以下形式给出:
bundle:install -s mvn:org.apache.derby/derby/10.8.2.2
feature:install jndi jpa transaction http
shell:echo "in script"发布于 2017-07-22 23:19:39
您可以在“org.apache.karaf.features.cfg”中的“featuresRepositories”和“featuresBoot”部分中添加在启动时安装的特性(和功能恢复)。
https://stackoverflow.com/questions/29599037
复制相似问题