GlassFish7はJakarta EE 10準拠。
|
|
GlassFishのインストールは、ダウンロードサイトからアーカイブをダウンロードして展開するだけ。
Jakarta EE PlatformがJEE全部で、Jakarta EE Web
Profileはウェブアプリケーション用に機能が絞られているものらしい。
(GlassFish 7.0.12の場合、Web Profileは「asadmin
list-commands」が変なエラーになったりするので、Platformの方が良さそう)
GlassFishはasadminコマンドで操作する。
GlassFishをインストールしたディレクトリーがglassfish7とすると、コマンドはglassfish7/bin/asadminにある。
asadminのサブコマンド一覧はlist-commandsで表示できる。
> asadmin list-commands
なお、asadmin(Linuxではシェル、Windowsではbatファイル)ではパスが通っているjavaコマンドが使用される。
GlassFish7のasadminはJava11以降でないと動かない。
Java8で実行すると以下のような例外が発生する。
java.lang.UnsupportedClassVersionError: org/glassfish/admin/cli/AsadminMain has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
環境変数AS_JAVAに「Javaがインストールされたディレクトリー」を指定すると、その下のjavaコマンドが使われる。
Windowsの例 > set AS_JAVA=C:\Program Files\Java\jdk-11
なお、デプロイされるウェブアプリケーションには環境変数JAVA_HOMEのJavaが使われるようなので、そちらも正しくセットしておく方が良さそう。(start-domain時に使われる模様)
リモートサーバーに接続できないと以下のようなエラーが出る。
(asadminは、サブコマンドによってはリモートサーバー(管理コンソール)に接続して実行する)
RemoteCLICommand.prepare throws exception. Remote server does not listen for requests on [localhost:4848]. Is the server up?
ポート4848は、デフォルトドメイン(domain1)の管理コンソールのポート番号。
このエラーが出るほとんどの場合は、リモートサーバー(ドメイン)が起動されていない。
ドメインを起動(開始)しておく必要がある。
asadminのほとんどのサブコマンドはドメインに対して実行する。
対象ドメインを特に指定しない場合は、デフォルトのドメイン(domain1)に対して実行される。
ドメインを指定するには、(ドメイン名を指定するのではなく)そのドメインの管理コンソールのホスト名とポート番号を指定する。
(ドメインを直接操作するコマンド(start-domain等)では、ドメイン名を指定するが)
> asadmin --host localhost --port 4848 サブコマンド〜
--host省略時はlocalhost、--port省略時は4848になる。
4848は、デフォルトドメイン(domain1)の管理コンソールのデフォルトのポート番号。
--targetでドメイン名を指定できれば良さそうな気がするが、そうはなっていない。
たぶん、他のサーバーからもコマンドを実行できるようにする為に、ドメイン名を指定するのではなく、ホスト名やポート番号を指定するようになっているのだろう。
GlassFish(ドメイン)はasadminコマンドで起動・停止する。
> asadmin start-domain
> asadmin stop-domain
GlassFish7インストール直後はドメインはひとつしか存在しないので、そのドメイン(domain1)が対象となる。
ドメインが複数ある場合(create-domainによってドメインが作られている場合)は、ドメイン名を指定する必要がある。
> asadmin start-domain domain1 > asadmin stop-domain domain1
(Eclipseから)リモート接続してデバッグしたい場合は、--debugオプションを付けて起動する。[2024-02-21]
> asadmin start-domain --debug domain1
ドメインを起動(開始)すると、ウェブブラウザーから管理コンソールにアクセスできる。
デフォルトドメイン(domain1)の場合、URLはhttp://localhost:4848。
初回アクセス時は少し待たされる。
左側のツリーから色々な情報を選択できる。
例えば以下のようなもの。