linuxBean14.04(51)Eclipse4.5のインストールと静的コールグラフ生成

前の関連記事:linuxBean14.04(50)pyreverseの結果の見方とオプションの使い方


Eclipse4.5をインストールします。インストールは簡単にできたので、ついでにispaceプラグインでLibreOfficeSDKのFirstStepsの例の静的コールグラフを作成してみました。

Eclipse4.5のダウンロードとインストール



Eclipse DownloadsからEclipse IDE for Java Developersの32bitをダウンロードしました。

ファイルマネージャでeclipse-java-mars-R-linux-gtk.tar.gzを右クリック→ここでファイルを展開。

「eclipse」というフォルダが出現します。

豆ボタン→アクセサリ→ファイルマネージャ PCManFM (root)。

eclipseフォルダを/optに移動させます。

Terminalから/opt/eclipse/eclipseとしてEclipseが起動することを確認します。
** (eclipse:7977): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
こんな警告がでてきましたが普通に起動できました。

Eclipseのバージョンは4.5.0でした。OpenJDK7を使っています。

linuxBean14.04(46)Eclipse Modeling Toolsのインストールと同様にしてランチャを作成します。

静的コールグラフをJavaソースから生成するispaceプラグインをインストール


Java:Eclipseでコールグラフ(1)ispaceプラグインをインストールでWindows版のEclipseにインストールしたものです。

その記事を書いたときはよく理解しておらず単にコールグラフと書いたのですが、コールグラフには動的コールグラフと静的コールグラフの2種類がありispaceが生成するのは静的コールグラフになります。

まずGEF (Graphical Editing Framework)をインストールします。
(linuxBean14.04(46)Eclipse Modeling Toolsのインストールをした場合はすでにGEFがインストールされているのでGEFのインストールは不要です。)

Eclipseのメニュー、Help→Install New Software。

「Work with:」にhttp://download.eclipse.org/tools/gef/updates/releases/を入力して「Add」をクリックします。


リポジトリのNameは「GEF」にしました。

「OK」をクリック。リポジトリの内容が表示されるまで待ちます。


GEFにチェックをつけて「Next」。

最後にlicenseをacceptをするほうにチェックして「Finish」。

インストールが完了するとEclipseの再起動が促されるので「OK」。

つづいて同様にしてispaceをインストールします。

「Work with:」にhttp://ispace.stribor.de/updatesite/site.xmlを入力して「Add」をクリックします。

途中Security Warningがでてきますので「OK」。

Eclipseを再起動するとインストール完了です。

LibreOffice5.0.0.0beta1SDKのFirstStepsのプロジェクトを作成する


linuxBean14.04(25)NetBeans8とLibreOffice5のインストールでインストールしたLibreOffice5.0.0.0beta1のSDKのJavaの例の静的コールグラフを生成してみます。

linuxBean14.04(35)FirstStepsの例をNetBeans8でビルドすると同様にしてEclipseでFirstStepsの例のプロジェクトを作成します。

File→New→Java Project。

「Project name」に新規プロジェクト名を入力しとりあえずデフォルトのままプロジェクトを作成します。

FirstStepsというプロジェクト名にしました。


openJDK7がインストールしてありJREのところはデフォルトでJavaSE-1.7が表示されていてopenJDK7が選択できませんが、よくわからないのでこのままでいきます。

「Next>」。


「Libraries」タブをクリックして、「Add External JARs」。

/opt/libreofficedev5.0/program/classes/juh.jar
/opt/libreofficedev5.0/program/classes/jurt.jar
/opt/libreofficedev5.0/program/classes/ridl.jar
/opt/libreofficedev5.0/program/classes/unoil.jar
/opt/libreofficedev5.0/program/classes/unoloader.jar

この5つのjarファイルを追加します。

「Finish」。

次にこのプロジェクトにjavaソースファイルをインポートします。

Eclipseのメニュー、Window→Show View→Package Explorer。

このパッケージエクスプローラでFirstStepsプロジェクトの中にあるsrcを右クリック→Import。


General→File System。「Next>」。


「Browse」をクリックして、/opt/libreofficedev5.0/sdk/examples/DevelopersGuide/FirstStepsを選択します。

「Select All」をクリックして、「Filter Types」で*.javaにチェックをつけて「OK」とするとjavaソースファイルのみ選択してくれます。

「Finish」。


これでFirstStepsのプロジェクトができました。

試しに「HelloTextTableShape.java」をパッケージエクスプローラで選択した状態で、EclipseのメニューからRun→Run、とするとLibreOfficeが起動してlinuxBean14.04(35)FirstStepsの例をNetBeans8でビルドするのときと同じ結果が得られるはずです。

それぞれのjavaソースファイルを選択してRunとするとそれぞれの結果が得られるはずです。

NetBeansのときと違ってメインクラスのプロジェクトのプロパティから切り替えなくてもパッケージエクスプローラでjavaファイルを選択するだけで切り替わりますね。

ispaceでFirstStepsの静的コールグラフを得る


パッケージエクスローラでFirstStepsプロジェクトを右クリック→ispace→Add ispace Nature。

「ispace nature created」と表示されます。

パッケージエクスローラでFirstStepsプロジェクトを右クリック→ispace→Open ispace View。


あとはアイコンをクリックしていくとそれぞれの呼び出し関係が表示されます。


使い方はJava:Eclipseでコールグラフ(2)ispaceでコールグラフを作成のときと同じです。

表示がにじむときが頻繁にありますね。結構鬱陶しいです、、、と思ったら設定を一つ忘れていました。

/opt/eclipse/eclipse.iniの最後に-Xss2mを書き加えてEclipseを再起動したら直りました。
(2015.10.30追記。にじむ原因と解決法はlinuxBean14.04(85)Eclipse Mars 4.5.1で横スクロールすると字が滲むの方が正解かもしれません。)

(2015.8.2追記。エッジの意味はlinuxBean14.04(57)Eclipseプラグインispaceのコールグラフのエッジの意味を調べるへ。)

UMLプラグインをインストールするとEclipseがマウス操作を受け付けず


UML(3)EclipseのUMLプラグインAmaterasUMLで使ったAmaterasUMLプラグインをインストールしてみるとcldファイルを開くところでEclipse4.5が固まってしまいました。

その後このcldファイルを閉じない限りEclipseを強制終了しないといけなくなりEclipseでは何もできなくなってしまいました。

同じような機能をもったObjectAid UML Explorerプラグインでも同じ結果でuclsファイルを閉じない限りマウス操作を受け付けなくなるのですが、マウス操作ができないのでファイルを閉じれないという悪循環に陥ります。

VirtualBoxのゲストOSでインストールしていたのでその仮想マシンは捨てました。

linuxBeanでアプリの強制終了は、豆ボタン→システムツール→タスクマネージャ、のコマンド欄にでてくるeclipseを右クリックして「終了」を選択すると終了できます。

CPU占有率は0%のままなのでなにかしようとしてフリーズしているわけではなさそうです。

JVMをopenJDK7からoracleJDK7に変更しても同じ結果でした。

SynapticパッケージマネージャからインストールしたEclipse3.8でも同じ結果でした。

Problem with ObjectAid Class Diagram (Eclipse plugin) / Applications & Desktop Environments / Arch Linux Forumsからたどり着いたBug 354842 – Hang in org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)によるとこれはEclipse側のSWTが原因の問題のようで解決策はないようです。

参考にしたサイト


Eclipse Downloads
Eclipseのダウンロードサイト。Eclipse IDE for Java Developersをインストールしました。

ispace : Ispace - Downloads browse
Javaソースコードから静的コールグラフを生成するプラグインispace。

AmaterasUML - Project Amateras
Windows7 64bitのEclipse4.3(Kepler)では問題ありませんでしたがlinuxBeanのEclipseでは動きませんでした。

ObjectAid UML Explorer - Home
クラス図作成機能はフリーで使えるようですがlinuxBeanのEclipseでは動きませんでした。

Problem with ObjectAid Class Diagram (Eclipse plugin) / Applications & Desktop Environments / Arch Linux Forums
ObjectAidが動かない問題について。 VrtualBoxのUbuntu 12.04、Eclipse4.2では動いたようです。

Bug 354842 – Hang in org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
EclipseのSWT関連のメソッドが原因のようで解決策はないようです。

次の関連記事:linuxBean14.04(52)Eclipse Modeling ToolsでJavaコードからUMLを生成:その1

PR

0 件のコメント:

コメントを投稿