LoginSignup
0
0

More than 3 years have passed since last update.

「glassfish.lib.grizzly-npn-bootstrap-1.6.jarが見つからなかったかロードできませんでした」が原因でPayara Serverが起動しない

Last updated at Posted at 2019-05-05

[注意1] この記事の内容は以下の環境で動作確認を行っています。

C:\payara5\bin>asadmin.bat version
Version string could not be obtained from Server [localhost:4848].
(Turn debugging on e.g. by setting AS_DEBUG=true in your environment, to see the details.)
Using locally retrieved version string from version class.
Version = Payara Server  5.191 #badassfish (build 94)
Command version executed successfully.

[注意2] 次のURLを参考にしています: https://www.coppermine.jp/note/2019/01/payara5-npn-version-switch/


Java EEのローカル開発環境としてPayara Serverを利用しているのですが、ソフトウェアの導入直後、以下のエラーによりPayara Serverが起動しないということがありました。

エラー: メイン・クラス[1.8.0|1.8.0u120]-Xbootclasspath.p:C:\payara5\glassfish.lib.grizzly-npn-bootstrap-1.6.jarが見つからなかったかロードできませんでした

この問題に対する対処法はいろいろあると思いますが、わたしの場合はdomain.xmlを修正することで問題が解消しました。ディレクトリ${install_directory}/glassfish/domains/${domain_name}に格納されているdomain.xmlを確認すると、以下のような記述が複数個所見つかると思います。

<!-- Grizzly NPN Jar version -->
<jvm-options>[1.8.0|1.8.0u120]-Xbootclasspath/p:${com.sun.aas.installRoot}/lib/grizzly-npn-bootstrap-1.6.jar</jvm-options>
<jvm-options>[1.8.0u121|1.8.0u160]-Xbootclasspath/p:${com.sun.aas.installRoot}/lib/grizzly-npn-bootstrap-1.7.jar</jvm-options>
<jvm-options>[1.8.0u161|1.8.0u190]-Xbootclasspath/p:${com.sun.aas.installRoot}/lib/grizzly-npn-bootstrap-1.8.jar</jvm-options>
<jvm-options>[1.8.0u191|1.8.0u500]-Xbootclasspath/p:${com.sun.aas.installRoot}/lib/grizzly-npn-bootstrap-1.8.1.jar</jvm-options>

これはJavaのバージョンに合わせてロードするgrizzly-npn-bootstrap-${version}.jarを変えるという機構のようですが、これがうまく動いていないことがPayara Serverが正常に起動しない原因のようです。自動で切り替える機構がうまく動かないなら、ハードコーディングしてしまいます。

ここでPayara Serverで利用してるJavaのバージョンを確認します。

C:\jdk\jdk1.8.0_202\bin>java -version
openjdk version "1.8.0_202"
OpenJDK Runtime Environment Corretto-8.202.08.2 (build 1.8.0_202-b08)
OpenJDK 64-Bit Server VM Corretto-8.202.08.2 (build 25.202-b08, mixed mode)

Javaのバージョンは1.8.0u202で、domain.xmlの記述を見る限りだとgrizzly-npn-bootstrap-1.8.1.jarをロードするのが正解のようです。そこで上記のdomain.xmlの記述をすべて削除するか、コメントアウトして、以下の通り書き換えます。

<jvm-options>-Xbootclasspath/p:${com.sun.aas.installRoot}/lib/grizzly-npn-bootstrap-1.8.1.jar</jvm-options>

するとPayara Serverは正しく起動するようになるはず(´・ω・`)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0