eclipse が管理者権限でないと起動しなくなってしまった。
以下のようなエラーが発生して起動しない。
Java was started but returned exit code=1
eclipse.ini に -vm オプション追加したり、コマンドラインに -debug, -console, -consoleLog を入れたり、-vm オプションを使って javaw じゃなくて java で起動させたりしたけどいまいちログが出なかったので、以下の方法で解決した。
-
Process Explorer をインストール
プロセスの引数をコピペするためにインストールする。
Windows 標準のタスクスケジューラでも「詳細」タブを右クリックして「列の選択」より「イメージ パス名」と「コマンド ライン」をチェックし、対象のプロセスを選択後 Ctrl+C キーでコピーできるが、Process Explorer の方が楽だし他の場面でも使いどころが多くて便利なので入れておく。 - eclipse を起動(↑のようなエラーダイアログが表示されたら、「OK」を押さずにそのままにしておく)
- Process Explorer を起動する
- java プロセスを検索する
- java プロセスを右クリックし、Properties... をクリックする
- 「Command line:」のテキストボックスをコピーする
- コピーしたコマンドを実行する
実行する際には、コマンドプロンプトを起動し、eclipse.exe があるフォルダをカレントディレクトリにし、javaw.exe は java.exe に読み替えて実行する。
C:/Programs/java/jdk17/bin/java.exe -Dosgi.requiredJavaVersion=17 -Dsun.java.command=Eclipse --add-modules=ALL-SYSTEM --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED -Dosgi.dataAreaRequiresExplicitInit=true -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=false -Xms1g -Xmx3g -XX:+UseShenandoahGC -XX:+UseLargePages -XX:+TieredCompilation -XX:+UseNUMA -XX:+AlwaysPreTouch -XX:+ShowCodeDetailsInExceptionMessages -XX:InitialRAMPercentage=5 -XX:MaxRAMPercentage=25 -XX:TieredStopAtLevel=1 -Xverify:none -javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar -javaagent:lombok.jar -jar C:\Programs\eclipse\plugins\org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -os win32 -ws win32 -arch x86_64 -showsplash -launcher C:\Programs\eclipse\eclipse.exe -name Eclipse --launcher.library C:\Programs\eclipse\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.700.v20221108-1024\eclipse_11801.dll -startup C:\Programs\eclipse\plugins\org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar --launcher.appendVmargs -exitdata 26d0_158 -product org.eclipse.epp.package.java.product -vm C:/Programs/java/jdk17/bin/javaw.exe -vmargs -Dosgi.requiredJavaVersion=17 -Dsun.java.command=Eclipse --add-modules=ALL-SYSTEM --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED -Dosgi.dataAreaRequiresExplicitInit=true -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=false -Xms1g -Xmx3g -XX:+UseShenandoahGC -XX:+UseLargePages -XX:+TieredCompilation -XX:+UseNUMA -XX:+AlwaysPreTouch -XX:+ShowCodeDetailsInExceptionMessages -XX:InitialRAMPercentage=5 -XX:MaxRAMPercentage=25 -XX:TieredStopAtLevel=1 -Xverify:none -javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar -javaagent:lombok.jar -jar C:\Programs\eclipse\plugins\org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
コンソールに出力されたログを見ると、eclipse\configuration\jp.sourceforge.mergedoc.pleiades\pleiades.log へのアクセス権がない事が原因のようだった。
なので、大本の eclipse.exe が存在するフォルダの ACL を変更し、Users や Administrators, ログインユーザなどが読み書きできるように変更したところ、eclipse がちゃんと起動するようになった。
よくわからなければ、Users ユーザにフル コントロール権を与えるだけで問題ない。