LoginSignup
0
0

More than 5 years have passed since last update.

GlassFishを起動しようとしたら java.lang.UnsupportedClassVersionError: org/glassfish/admin/cli/AsadminMain : Unsupported major.minor version 51.0 となってしまった時の対応方法

Last updated at Posted at 2017-05-19
  • 環境
    • 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. 的なのではなかったので起動できない:interrobang:と焦りましたが、http://localhost:4848 を見てみたら起動していました。
FireShot Capture 1 - GlassFish Console - Common Tasks - http___localhost_4848_common_index.jsf.png

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