- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2021-12-14T02:36:08+00:00","","")
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
Eclipseはプラグインの起動、停止や動的追加などに、[[OSGi(Open Services Gateway Initiative):http://www.osgi.org/]] というフレームワークを用いています。
あんまりメリットを理解していないのですが、このOSGiのコマンドラインを起動する方法があったので、メモっておきます。
***コマンドラインの起動 [#c22602e2]
Eclipse内でEclipseを起動するときに、プログラム引数に
-console
を付けて起動します。するとコンソールに
osgi>
というプロンプトが上がったはずです。
#ref(run.png)
***プラグインのリスト、起動状態を表示する [#q763578d]
osgi> ss
と入力します((プロンプトに対する入力は緑字になります))。結果は以下の通り(抜粋)。
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE system.bundle_3.1.2
1 ACTIVE org.eclipse.core.runtime_3.1.2
Fragments=34, 52
2 ACTIVE org.eclipse.update.configurator_3.1.0
Fragments=80
23 ACTIVE org.eclipse.core.expressions_3.1.0
81 RESOLVED org.eclipse.update.core_3.1.2
Fragments=82, 83
82 RESOLVED org.eclipse.update.core.nl1_3.1.1
Master=81
83 RESOLVED org.eclipse.update.core.win32_3.1.0
Master=81
84 RESOLVED org.eclipse.update.ui_3.1.1
Fragments=85
85 RESOLVED org.eclipse.update.ui.nl1_3.1.1
Master=84
86 RESOLVED org.junit_3.8.1
ACTIVEやRESOLVEDなど、プラグインのリストとそのステータスが表示されます。
***あるプラグインを起動する。 [#h156d71d]
上の例で例えばorg.junit_3.8.1を起動したい場合は
osgi> start 86
とします。もう一度リスト表示してみると
86 ACTIVE org.junit_3.8.1
となってACTIVEになりました。停止するには
osgi> stop 86
ですね。
***その他 [#nb538afb]
全部調べてませんが、とりあえず以下のコマンドがあるみたい。
---Eclipse Runtime commands.---
diag - Displays unsatisfied constraints for the specified bundle(s).
active - Displays a list of all bundles currently in the ACTIVE state.
getprop { name } - Displays the system properties with the given name, or all of them.
Valid commands:
---Controlling the OSGi framework---
launch - start the OSGi Framework
shutdown - shutdown the OSGi Framework
close - shutdown and exit
exit - exit immediately (System.exit)
gc - perform a garbage collection
init - uninstall all bundles
setprop <key>=<value> - set the OSGi property
---Controlling Bundles---
install - install and optionally start bundle from the given URL
uninstall - uninstall the specified bundle(s)
start - start the specified bundle(s)
stop - stop the specified bundle(s)
refresh - refresh the packages of the specified bundles
update - update the specified bundle(s)
---Displaying Status---
status - display installed bundles and registered services
ss - display installed bundles (short status)
services {filter} - display registered service details
packages {<pkgname>|<id>|<location>} - display imported/exported package details
bundles - display details for all installed bundles
bundle (<id>|<location>) - display details for the specified bundle(s)
headers (<id>|<location>) - print bundle headers
log (<id>|<location>) - display log entries
---Extras---
exec <command> - execute a command in a separate process and wait
fork <command> - execute a command in a separate process
---Controlling Start Level---
sl {(<id>|<location>)} - display the start level for the specified bundle,
or for the framework if no bundle specified
setfwsl <start level> - set the framework start level
setbsl <start level> (<id>|<location>) - set the start level for the bundle(s)
setibsl <start level> - set the initial bundle start level
------Controlling the Profiling------
profilelog - Display & flush the profile log messages
---Controlling the Console---
more - More prompt for console output
***config.iniについて [#c8cd7cb7]
[[RCP Tutorial: Part 1:http://www.eclipse.org/japanwg/20050425/rcp_tutorial_ja1.html]]にあります通り、OSGi Frameworkはconfig.iniでコンフィギュレーションするみたいです。しらなかった。。
----
この記事は
#vote(おもしろかった[4],そうでもない[0])
#vote(おもしろかった[6],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}