Eclipse のヘッドレスアプリケーションプラグインを作り、 コマンドラインからプラグインの処理を呼び出す。
本当は Java11 でやりたかったのだけれど、 「エクスポートした jar に class ファイルが格納されない問題」が解決できなかった。
なので、Java8 で Eclipse 4.9 を動かしている。
環境
- OS: Windows 10 Pro
- Java: java version "1.8.0_151"
- Eclipse: Version: 2018-09 (4.9.0)
- for Commiters
Eclipse の準備
Eclipse のダウンロードと展開
Enabling Open Innovation & Collaboration | The Eclipse Foundation からダウンロードする。
Download
->Tool Platforms
セクションのDownload Packages
Eclipse IDE for Eclipse Committers
のWindows 64-bit
Download
ボタンからダウンロード- ダウンロードした zip ファイルを適当な場所に展開
Eclipse を起動する Java の指定
僕の作業用 Windows は、デフォルトの Java を 11 にしている。 最初に説明したとおり、 11 だとうまくエクスポートができない。 そのため、Java 8 で Eclipse が動くように修正する。
eclipse.ini
をテキストエディタで開き、 -vmargs
の直前に、次の 2 行を追加する。 (\PATH\TO\JDK1.8.0\bin\javaw.exe
は自分の環境に合わせて書き換える)
-vm
\PATH\TO\JDK1.8.0\bin\javaw.exe
プラグイン作成
eclipse を起動し、プラグインを開発していく。
プラグインプロジェクトの作成
Plug-in Development
パースペクティブを開くFile
->New
->Plug-in Project
- 基本情報設定 ->
Next
- Project name:
HeadlessApplication
- Project name:
- コンテント情報入力 ->
Next
Options
のチェックを全部外すRich Client Application
内のラジオボタンでYes
を選択
- テンプレートの選択 ->
Finish
Headless Hello RCP
を選択
この状態で、「呼び出すと Hello RCP World!
と標準出力されるヘッドレスアプリケーション」が生成される。
プラグインのエクスポート
- プロジェクト右クリック ->
Export
Deployable plug-ins and fragments
を選択してNext
- エクスポート設定 ->
Finish
HeadlessApplication
にチェックを入れるDestination
タブのDirectory
に、出力先ディレクトリを入力
Directory
に指定したディレクトリ内に、 plugins
ディレクトリが作成され、 その中にプラグインの jar ファイルが格納される。
動作確認
プラグインのインストール
「プラグインのエクスポート」で作成された jar ファイルを、 eclipse の dropins
ディレクトリにコピーする。それだけ。 (本当はいろいろ作法があるらしい?未調査。)
動作確認
標準出力を確認したいので、 java.exe
を使って実行する。
eclipsec.exe -nosplash -application HeadlessApplication.application -vm \PATH\TO\JDK1.8.0\bin\java.exe
下記出力が得られれば成功。
org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized. Will retry after the state location is initialized.
Hello RCP World!
あとはこれにお好きな処理を追加していくだけ。
環境に応じた Preference の値を流し込むとか、 Eclipse 操作のオートメーションとかできるといいなぁ...。
以上。
0 件のコメント:
コメントを投稿