#author("2021-12-14T01:56:58+00:00","","") #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(おもしろかった[5],そうでもない[0]) #vote(おもしろかった[6],そうでもない[0]) #comment #topicpath SIZE(10){現在のアクセス:&counter;}