エラーを告げるダイアログがいっぱい出てきます.
Error: opening registry key 'Software\JavaSoft\JRE |
Error: could not find java.dll |
Error: Could not find Java SE Runtime Environment |
これらは Java Virtual Machine Launcher が出しているものですね.
この後に Eclipse 自体のエラー出力が表示されます.
タイトルには Papyrus と表示されていますがベースとなる Eclipse そのもののエラーです.
Java was started but returned exit code=2 |
確かにいつもとは違うアップデート画面で,インストールされているものを削除するという手順があったため,色々と削除したことを思い出しました.
Javaはほっておくと色々なバージョンがインストールされてしまうため,古い奴を消してくれる便利機能でも追加されたのかなと深く考えなかったのですが,どうやら違ったみたいです :-)
コマンドプロンプトをあげて javaw.exe や javac.exe をたたいてみても,同じようなメッセージがテキストで表示されました:
c:\Eclipse\papyrus-2018-09-4.1.0-win64\Papyrus>java
Error: opening registry key 'Software\JavaSoft\JRE'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
さてはてと考えていると,ふと先日, Oracle がJavaのライセンスやリリースモデルを変更するってニュースリリースしてたなぁ,と思い出しました.詳細はここに書いてあるものです:
まぁ今もちゃんと読んではいませんが,ようは無償で使う場合には今後は OpenJDK を使ってね,ということでしょうかね(笑).JDKの新しいリリース・モデルおよび提供ライセンスについて
Linux環境では OpenJDK を普通に使っているのですが,Windowsでは Oracle JDK をこれまでずっと使っていました.
今回は Oracle JDK から OpenJDK に移行しないといけない状況での不連続点なのかもしれません.
確かに Eclipse/Papyrus を動作させる際,Windows下で使用される JavaVM の問題が発生したこともあり,どうしてもJavaVMを固定化したい場合には Eclipse/Papyrus のインストールフォルダの下に `jreフォルダ' を作成し,そこに JavaVM をコピーして使ったりしていました.もしくは Eclipse の ini ファイルを編集して,使用する JavaVM を固定化したりと.前者は複数人で同じ環境を使う場合(Eclipse/Papyrus環境を配布したりする場合),後者は自分単独で使う場合の対応として使い分けています.
感覚的にはそのような状況と同じような対応をすれば良いかなと.
では,と,OpenJDKをインストールします.
OpenJDK は jdk.java.net からダウンロードできます.現時点での最新版は以下のページから入手可能です:
Java Platform, Standard Edition 11 Reference Implementations
これまでの .exe 形式のインストーラではなく .zip での配布ですね.個人的にはどっちでも,です.
ファイル
openjdk-11+28_windows-x64_bin.zipをダウンロードし,以下のように C:\OpenJDK フォルダの下で展開しました:
その後,Papyrus のインストールフォルダに行き,ファイル papyrus.ini に以下のように使用する JavaVM を陽に指定しました(赤色の太字の所).
赤色の太字以外は元々の設定です.-vmC:\OpenJDK\jdk-11\bin\javaw.exe-startupplugins/org.eclipse.equinox.launcher_1.5.100.v20180827-1352.jar--launcher.libraryplugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.800.v20180827-1352-showsplashorg.eclipse.papyrus.rcp--launcher.XXMaxPermSize512m--launcher.defaultActionopenFile-vmargs-Xms256m-Xmx900m-Dosgi.bundlefile.limit=200
もしかしたらメモリ関係の設定値を増やしているやもしれませんが忘れました(笑)
これで再度 Papyrus を実行すると,無事に起動しました.