- 環境
- Windows10 64bit
- GlassFish : 4.1.2
GlassFishを起動しようとしたら怒られました。
$ /c/app/glassfish-4.1.2/glassfish4/glassfish/bin/asadmin
java.lang.UnsupportedClassVersionError: org/glassfish/admin/cli/AsadminMain : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.glassfish.admin.cli.AsadminMain. Program will exit.
Exception in thread "main"
原因 : Javaのバージョンが合っていませんでした。
This is because the “jar” is compiled with JDK 1.7, but you try to run in a JDK 1.6 environment.
Java : Unsupported major.minor version 51.0
jar動かしてないです・・・なぁんて思って asadmin.bat を開くとちゃんとjarを動かしていました。
REM Always use JDK 1.6 or higher
REM Depends on Java from ..\config\asenv.bat
VERIFY OTHER 2>nul
setlocal ENABLEEXTENSIONS
if ERRORLEVEL 0 goto ok
echo "Unable to enable extensions"
exit /B 1
:ok
call "%~dp0..\config\asenv.bat"
if "%AS_JAVA%x" == "x" goto UsePath
set JAVA="%AS_JAVA%\bin\java"
goto run
:UsePath
set JAVA=java
:run
%JAVA% -jar "%~dp0..\lib\client\appserver-cli.jar" %*
その時のJavaは・・・
$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
気のせいでしょうか?asadmin.batに Always use JDK 1.6 or higher
と書いてあるような気がします。
対応方法 : javaのバージョンを1.7以上にする
JAVA_HOME を1.8にしました。
Windows7でうまくJavaを切り替えられない場合は こちら をご参照ください。
$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
今一度 GlassFishの起動を試みます。
$ /c/app/glassfish-4.1.2/glassfish4/glassfish/bin/asadmin start-domain domain1
Attempting to start domain1.... Please look at the server log for more details.....
思っていたメッセージ Command start-domain executed successfully.
的なのではなかったので起動できないと焦りましたが、http://localhost:4848 を見てみたら起動していました。