dfa*_*l07 7 shell scripting apache-karaf karaf
我需要以非交互方式发出Karaf shell命令,最好是从脚本中发出.更具体地说,我需要以feature:install自动方式告诉Karaf 一系列功能.
# Attempt to install a feature in a way I could script
bash> bin/karaf feature:install myFeature
# Drops me into Karaf shell
karaf> feature:uninstall myFeature
Error executing command: Feature named 'myFeature' is not installed
# Feature wasn't installed
Run Code Online (Sandbox Code Playgroud)
这可能吗?是否有一种不同的解决方法(自动安装一套Karaf功能)我不知道?
使用 bin/karaf,您可以通过登录提示启动 Karaf,如果您想启动 Karaf,以便可以发出命令,您首先需要在服务器模式下启动 Karaf。为此,请使用 bin/start shell 脚本。现在您可以使用 bin/client 或 bin/shell 命令以无头模式与 Karaf 进行通信。
例如:
./bin/client list
START LEVEL 100 , List Threshold: 50
ID | State | Lvl | Version | Name
----------------------------------------------------------------------------------
72 | Active | 80 | 0 | mvn_org.ops4j.pax.web.samples_war_4.1.0-SNAPSHOT_war
Run Code Online (Sandbox Code Playgroud)
这应该适用于 Karaf 的所有版本(可能不是 2.2.x 行;-))
如果您使用的版本是 3.0.x 或更高版本,您可能需要向命令添加用户。
./bin/client -u karaf list
Run Code Online (Sandbox Code Playgroud)
要以非交互方式发出 Karaf shell 命令,最好从脚本中发出,您还可以使用Karaf 客户端(向下滚动到“Apache Karaf 客户端”)。要安装功能,我使用如下命令
/opt/karaf/bin/client -r 7 "feature:install http; feature:install webconsole"
Run Code Online (Sandbox Code Playgroud)
-r如果服务器尚未启动,该开关允许重试连接(我在 Docker 脚本中使用它)。
| 归档时间: |
|
| 查看次数: |
6966 次 |
| 最近记录: |