BridgePointのインストール手順（2019年10月以降、Windows）


:::note warn
BridgePoint 7.7 以降では、ベースになっているEclipseの仕様の変更によって、CDTとC/C++パースペクティブを使うためには、JDK17以降が必要になりました。CDTが使えない状態では、BridgePointがCのビルド環境を利用できず、生成したCのコードをビルドできません。
BridgePointを起動後にC/C++パースペクティブへ切り替えられない場合には、現在使用中のJDKのバージョンや環境変数JAVA_HOMEを確認してください。
:::

# BridgePointを起動できなくなった？

この記事は、BridgePointをインストールして起動しようとしたら、次のようなエラーメッセージが出て起動しない場合について、その理由と対策を書いたものです。

> Mac版については、同様の記事 [BridgePointのインストール手順（2019年10月以降、macOS）](https://qiita.com/kuboaki/items/adc2ee6bad2e8ab607ca) を書いていますので、そちらを参照してください。

![GSW-20191028-230029.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/ef079672-378f-1dbb-1665-d430acddae5d.png)

> A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Bridgepoint. No Java virtual machine was found afrer searching the following locations: C:\BridgePoint\jre\bin\javaw.exe

または、次のようなダイアログが表示される場合も、BridgePointが起動できません。
![GSW-20250402-200412.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/7d9c9ae4-2755-43c4-ad91-41ad6897f0e8.png)

これは、BridgePointが見つけたJDKまたはJREのJava VMがVer.17よりも古いために、BridgePointの動作要件を満たさなくないということを知らせています。

# BridgePointについて

BridgePointは、MDD（Model Driven Development：モデル駆動開発）ツールです。オブジェクト指向分析設計手法の1つであるShlaer–Mellor法やその後継であるExecutable UML（xtUML）を活用する開発を支援しています。

BridgePointは、Project Technology社が1980年代に提供を開始し、2004年にはメンター・グラフィックス社が同社（の後継会社）を買収します。のちに、メンター・グラフィックス社は、BridgePointをオープンソースとして公開し、2014年には完全なオープンソースプロダクトになりました。現在は[xtUML.org](https://xtuml.org/) が提供しています。

# この記事の背景

近年のBridgePointは、Eclipseのプラグインとして、Eclipseのランタイム環境上で動作します。そのため、実行にはJavaランタイム環境（JRE）が必要です。2019年、オラクルはJavaの配布のライセンス条件を変更しました。これまでBridgePointは、オラクルが提供するJavaをパッケージに包含して配布していたので、配付パッケージを展開すれば、すぐに利用できました。しかし、オラクルの新しいライセンスによって、この方法は使えなくなりました。そこで、 xtUML開発チームは、JREのバンドルを中止することになったのです。
この経緯については [この記事](https://onefact.net/2019/10/22/java-and-bridgepoint/?fbclid=IwAR3nVAfJNZ71XINFiUuxo9e6bdKkYGVkdboqQfpGP3rQmWIxZIn8ThOyzZk) を参照してください。

日本時間で2019年10月23日のNightly buildからは、この方針によるパッケージが配布されています。

# Javaランタイム環境のインストール

## 実行環境の選択

BridgePointはEclipse上の開発環境なので、Windows、Mac、Linux上で利用できます。

そこで、まず、利用するPCの環境を決めます。
この記事では、Windows 10 Pro(64bit)を使うことに決めました。

## Javaランタイム環境を確認する

:::note warn
BridgePointは Ver.7.5 になりました。Ver.7.5を使うには、Java 17が必要です。以下の説明を、適宜読み替えてください。
:::

以前のバージョンのJava（JREまたはJDK）を使うと、起動できた場合でも、次のような症状になるようです。

* BridgePointのWelcomeメニューが表示されない
* Welcomeコンテツが見つからない
* パースペクティブの切り替えに使うパレットやダイアログに、xtUMLパースペクティブがリストされない
* サンプルとして提供されているGPS_WatchやMicrowaveOvenプロジェクトがみつからない
* GPS_WatchやMicrowaveOvenのプロジェクトが自動的にみつからない

## Javaランタイム環境を取得する

:::note warn
BridgePint 7では下記のように、Java11を要求されていましたが、BridgePoint7.7では、Java11では動きません。
OpenJDK 21のようなもっと新しいものを用意して使いましょう。
:::

[AdoptOpenJDK](https://adoptopenjdk.net/index.html) のWebサイトをブラウザで開くと、ビルド済みのOpenJDKをダウンロードするページが開きます。自分の選んだプラットフォームのページか確認し、違っていたら「Other platforms」から選び直します。

Version の中から、適切なバージョンの OpenJDK を選んでダウンロードします。
（スナップショットは、執筆時のバージョンです。みなさんが実施するときは、そのときのBridgaPointが求めるバージョンに読み替えましょう）

![GSW-20210422-050745.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/e83e974a-6b4f-d1fc-c469-2fb6bd3b5d4e.png)

この画面のリンクからは、インストーラ型式（MSI型式）のファイルがダウンロードできます（ほかに、インストーラがついていない型式も選べます）。

*  jdk-11.0.11%2B9/OpenJDK11U-jdk_x64_windows_hotspot_11.0.11_9.msi
  * （バージョンは時期によって変わっているでしょう）


![GSW-20210422-051743.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/0224d174-73f4-5763-8bb9-576ff4a4f903.png)


## インストールを実行する

ダブルクリックして、指示に従ってインストールします。

![GSW-20210422-051941.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/31546365-0e7d-97b4-f634-43d98855c04d.png)

![GSW-20210422-051955.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/46ad93b0-b5a0-eaf8-1ec2-09edb4b2a0bd.png)


次へで表示される「カスタムセットアップ」の画面の下部で、デフォルトのインストール先のディレクトリが表示されていて、インストール先を確認・変更できるようになっています（基本的に変えないほうがいいと思います）。


![GSW-20210422-052007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/69c4e50b-5b3e-0208-b5d8-e0a46dec6155.png)



インストール先ディレクトリを覚えておきましょう。BridgePointのインストール後に、設定の変更に使います。


もし、途中で「ユーザーアカウント制御」の許可を求めるダイアログが表示されたら、「はい」を選択します。

![GSW-20210422-052620.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/5cfdd556-125e-f3bb-f95e-7f358959c631.png)

あとは指示通り進めます。


![GSW-20210422-052016.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/ee4e288d-27c7-61ca-850f-a885500c3ae1.png)

![GSW-20210422-052636.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/1259c7a5-64fd-9deb-1fe3-5d7eaf18e38e.png)


インストールが完了したら、コマンドプロンプトからJavaの起動を確認しましょう。

```shell
C:\Users\kuboaki>java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)
```
もし、まだインストール先のディレクトリを控えていないなら、ここで控えておきましょう。

インストールしたのとは別のバージョンが表示されるようなら、コントロールパネルのシステムから環境変数を参照して、PATHに他のバージョンのJDKが含まれていないか確認しましょう。


# BridgePointのインストール

## BridgePointを取得する

BridgePointを配布しているWebサイト[xtUML.org](https://xtuml.org/)をブラウザで開きます。

> 以前とはWebサイトデザインが変わっていますが、Nightly Buildsからダウンロードするのは変わっていません。

![210211-0001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/57c4a1e6-7113-0c4f-afe6-8848e3b74564.jpeg)

（以前のページ）
![GSW-20191029-053309.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/5e0fc3ee-8c96-42ef-560d-00716d9708b4.png)

ダウンロードページヘ移動します。
（この機会に、他のページも参照しておくのもよいでしょう）

![210211-0002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/54541e43-6093-181d-dc9a-864a7a334073.jpeg)

（以前のページ）
![GSW-20191029-053656.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/3754c59c-9538-3dc9-d82a-ba78967afab2.png)

「Nightly Builds」の下端の「Downloads here」というリンクをクリックすると、最新ビルドの置いてあるAmazon S3のページが開きます。

![GSW-20191029-054158.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/86938b7b-4c5b-d7d1-3ff6-c7a168dc2dd7.png)

自分のインストール用アーカイブを選択して、ダウンロードします。
この記事では、「Windows 64-bit」を選びます。

## 配付アーカイブを展開する

ダウンロードできたら、zipファイルを展開して、希望の場所に配置します。

展開に使うアーカイブツールは「7-zip」を推奨します。Windowsエクスプローラーのメニューにビルドインされている展開機能ではEclipseベースのパッケージの場合、長いファイルパスを展開できないことがあります。

また、展開の手順によっては、アーカイバがフォルダを作ってからその中に展開する場合があります。展開後に `bridgepoint.exe` が含まれている `BridgePoint` フォルダが思った場所に配置できているか、もう一度確認しておきましょう。

この記事では、Cドライブのルートディレクトリに置きました。

![GSW-20191029-054552.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/7f337414-407a-9c48-43a3-2bf6e3bf9de0.png)

## BridgePointの設定を修正する

次に、BridgePointのディレクトリの中にある  `bridgepoint.ini` を確認します。このファイルには、JavaVMのヒープサイズを指定する設定があります。動作を確認した時点では、OpenJDKをインストーラでインストールして、javaw.exeの場所がPATHに追加されている場合には（そしてそのjavaw.exeを使うのであれば）、BridgePointの配布時の設定のままでも、この記事の冒頭のエラーが発生しなくなっているようです。

もし、この記事の冒頭のエラーが発生する場合や、大きなモデルを扱うなどから実行中にEclipseがメモリ不足（Java　VMがメモリ不足）となる場合は、設定を変更して、末尾にメモリの割当を変更する設定を追加します。

:::note warn
現象が発生しないようなら、当面は下記のような変更を実施しないで様子をみましょう。
:::

![GSW-20210422-053440.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/70efc723-f2eb-bdfc-2a65-a159b1b28476.png)

> 設定項目がみつかり、その記載値が上記画像に指定してある値より大きいようなら、書き換える必要はありません。

`-Xms` には起動時に確保するヒープサイズ（この例では512MB、バージョンによって変わっていることもあります）、　`-Xmx` がヒープを確保する際の最大値（この例では2048MB=2GB）を指定します。順序はどちらが先でもかまいません。
**この記事の記載に依らず、元の設定より大きくします。**
**オプションの名前が似ているので、間違えないように注意しましょう。**


もし、Java VMが起動できないといったエラー、あるいはPATHに指定しているJavaを変更しないまま、BridgePointでは別の　JavaVMを利用したい場合には、 `bridgepoint.ini` を編集して、JavaVMの場所を指定します。

`-vm` というオプション項目を追加して、そこにOpenJDKをインストールしたディレクトリの `bin` ディレクトリを書きます。そして、ディレクトリのなかにある `javaw.exe` をディレクトリの記述の末尾に追記します。最後にパス名全体をダブルクォーテーションで囲んでおきます。

たとえば、次のようにします。

![GSW-20210422-055308.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/356238b4-6f15-d484-1de3-1f088d6a3621.png)


:::note warn
この設定についてはGitHubの「[HOWTO Configure BridgePoint to use a Specific JRE](https://github.com/xtuml/bridgepoint/blob/master/doc-bridgepoint/process/HOWTO-configure-bp-jre.adoc) 」に説明したドキュメントがあります。詳しい説明が読みたい人や、ほかのプラットフォームでの設定を知りたい人は参照してください。
:::

# BridgePointを起動する

BridgePointが起動できるか確認します。BridgePointをインストールしたディレクトリの `bridgepoint.exe` をダブルクリックして起動してみましょう。

![GSW-20191029-000204.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/47a2a9be-047c-aaed-b5f2-b2a614915b57.png)


スプラッシュ画面が表示されます。

![GSW-20191029-000357.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/3e94b84d-fbe9-07f6-3d5f-e84e360116e6.png)

そののち、Projectで使うワークスペースを選択するダイアログが表示されます。このワークスペースはEclipseを使う場合に設定するワークスペースと同じ考え方です。自分がBridgePointを使う場所を決めて、そのディレクトリを選択しましょう。

![GSW-20191029-000218.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/0ba3aff0-70c7-d0ba-5eaa-1de9355f2a12.png)

起動できると、「Welcome to BridgePoint UML」という画面が表示されます。「Tutorial Video」を観たり、「Quick Start」を試してみましょう。

![GSW-20191029-060729.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3221/2176f643-0c4b-e836-37a5-f4829b51cd19.png)

## インストールが失敗していると

インストールが失敗していると、次のような現象が起きるようです。

* Quick Start画面が表示されない
* HelpメニューにWelcomeという項目がみつからない
* xtUML Modling パースペクティブがみつからない

この場合には、BridgePointが正常にインストールできていません。
多くの場合、Java11ではなくJava8など別のバージョンでBridgePointが動作しているのが原因のようです。コマンドプロンプトでJavaのバージョンを調べたり、環境変数の設定を確認するなどしてみましょう。複数のJavaを共存させる事情などがある場合には、 `bridgepoint.ini` を編集して対応しましょう。

# 最後に

BridgePointを支えているOne Fact inc. 並びにユーザーコミュニティに感謝します。

BridgePointは、パワフルな開発手法である xtUML を支援する環境として長く培われてきた実績のある、大変優れたものです。ぜひ一度、BridgePointを使って xtUML を実践する機会を設けてみてください。