テキストでUML関連の様々な図が書けるPlantUMLを今回はUbuntuに入れてみたいと思います。
※画像は公式サイトより
必要なソフトウェアのインストール
今回インストールするのはAWSのLightsailに建てたTrustyになります。
$ cat /etc/os-release NAME="Ubuntu" VERSION="14.04.5 LTS, Trusty Tahr"
JDK/JRE
PlantUMLの動作にはJavaが必要になるため、JREまたはJDKをインストールします。Javaでの開発を行う場合はJDKを、すでにあるソフトウェアを動かすだけならJREを選択します。特にバージョンなどにこだわりが無ければdefault-jdk
ないしdefault-jre
で良いと思います。
aptで一発で入ります。今回はJDKの方にしました。
$ sudo apt-get install default-jdk
1.7.0が入りましたね。
$ java -version java version "1.7.0_181" OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-0ubuntu0.2) OpenJDK 64-Bit Server VM (build 24.181-b01, mixed mode)
Graphviz
公式サイトによると、
シーケンス図とアクティビティ図 以外 のダイアグラムを使いたい場合は、Graphviz software もインストールしてください
とのことなので、Graphvizも入れてやります。
これもaptで一発です。
$ sudo apt-get install graphviz
入りましたね。dot
はgraphvizに付属するコマンドです。
$ dot -v dot - graphviz version 2.36.0 (20140111.2315) libdir = "/usr/lib/graphviz"
日本語フォント
すでに日本語フォントが入っているサーバであればスキップしてください。今回セットアップしている環境にはそもそも日本語フォントが入っていなかったので、その対応を行います。
まずはインストール状況の確認をします。うむ、入ってないっぽい。
### OSデフォルトのフォント $ fc-match DejaVuSans.ttf: "DejaVu Sans" "Book" ### OS内にインストールされているフォント一覧 $ fc-match -a DejaVuSans.ttf: "DejaVu Sans" "Book" DejaVuSansCondensed.ttf: "DejaVu Sans" "Condensed" (中略) DejaVuSansMono-Oblique.ttf: "DejaVu Sans Mono" "Oblique" DejaVuSansMono-BoldOblique.ttf: "DejaVu Sans Mono" "Bold Oblique"
日本語フォントをインストールします。今回はTakao
を入れてみます。
$ sudo apt-get install fonts-takao
IPAフォントの場合は以下。
$ sudo apt-get install fonts-ipafont fonts-ipaexfont
これで日本語がPlantUML内に存在してもうまいこと描画されるハズです。
PlantUML本体
ダウンロードページから落として、サーバにアップロードしても良いのですが面倒なので、ダウンロードページのソースを見てwgetしました。 https://sourceforge.net/projects/plantuml/files/latest/download
無事に落とせました。
### ダウンロード $ wget 'https://downloads.sourceforge.net/project/plantuml/plantuml.jar?r=http%3A%2F%2Fplantuml.com%2Fstarting&ts=1538667739&use_mirror=jaist' ### リネーム $ mv 'plantuml.jar?r=http%3A%2F%2Fplantuml.com%2Fstarting&ts=1538667739&use_mirror=jaist' plantuml.jar
動かしてみる
動作確認
以下のようなシーケンス図をtest.uml
という名前で用意しました。
@startuml Alice -> Bob: test @enduml
このファイルを先程のjarファイルに食わせてやります。
$ java -jar plantuml.jar test.uml
画像ファイルが生成されていれば成功です。実際に中身も確認しておきましょう。
$ ls -l -rw-rw-r-- 1 bitnami bitnami 7465678 Sep 22 17:11 plantuml.jar -rw-rw-r-- 1 bitnami bitnami 2266 Oct 4 15:57 test.png -rw-rw-r-- 1 bitnami bitnami 37 Oct 4 15:56 test.uml
ローカルにダウンロードしました。
$ scp -P 22 foo@example.com:~/test.png .
実際に以下のように生成されていました。
コマンド化
jarファイルを適当な場所に移動します。他のユーザーも使うかもしれないのでホームディレクトリ以外が良いですね。
$ sudo cp plantuml.jar /usr/local/bin
以下のようなシェルスクリプトを用意し、パーミションを変更します。
$ sudo vi /usr/bin/plantuml #!/bin/bash export LANG=ja_JP.UTF-8; /usr/bin/java -Djava.io.tmpdir=/var/tmp -Djava.awt.headless=true -jar /usr/local/bin/plantuml.jar -charset UTF-8 ${@} $ sudo chmod 0755 /usr/bin/plantuml
あとは先ほどと同様にPlantUMLファイルが変換できるか確認すれば完了です!
$ plantuml test.uml
※シェルスクリプトはこちらとこちらを参考にさせていただきました。
続き
参考ページ
技術評論社
売り上げランキング: 42,218