Glassfish 服务器 5 重新启动域在启用安全管理后显示 NCLS-ADMIN-00010

问题描述 投票:0回答:2

使用 Glassfish 服务器 5,在启用安全管理后重新启动域会显示 NCLS-ADMIN-00010。

C:\glassfish-5.0.1\glassfish5\glassfish\bin>asadmin start-domain
Waiting for domain1 to start .......................
Successfully started the domain : domain1
domain  Location: C:\glassfish-5.0.1\glassfish5\glassfish\domains\domain1
Log File: C:\glassfish-5.0.1\glassfish5\glassfish\domains\domain1\logs\server.log
Admin Port: 4848
Command start-domain executed successfully.

C:\glassfish-5.0.1\glassfish5\glassfish\bin>asadmin change-admin-password
Enter admin user name [default: admin]>admin
Enter the admin password>
Enter the new admin password>
Enter the new admin password again>
Command change-admin-password executed successfully.

C:\glassfish-5.0.1\glassfish5\glassfish\bin>asadmin enable-secure-admin
Enter admin user name>  admin
Enter admin password for user "admin">
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

C:\glassfish-5.0.1\glassfish5\glassfish\bin>asadmin restart-domain
NCLS-ADMIN-00010
NCLS-ADMIN-00010
NCLS-ADMIN-00010
NCLS-ADMIN-00010
NCLS-ADMIN-00010
NCLS-ADMIN-00010

我尝试过:

  1. 将 Java 降级到 8u152 或更早版本。
  2. 每晚下载最新的 GlassFish 5.0.1。

但是以上建议不起作用。

此外,当我使用带有停止域和启动域的启用安全管理时,Glassfish 不会显示在 localhost:4848 上。

有人可以给我任何帮助吗?

java jakarta-ee netbeans server glassfish
2个回答
0
投票

我在 6.1 版本中解决了这个问题: 在 /glassfishX/glassfish/config/asenv.bat 或 asenv.conf 中设置正确的 javajdk (glassfish 5.0、5.01 和 5.1 需要 jdk 251/252 或最低 glassfish 6 需要 jdk 9 或 11 - 我使用 11 就可以了)

停止域名

杀死java任务

删除文件夹:

linux:在 /home/运行 glassfish/.gfclient 的用户中

windows:c:\users\运行 glassfish.gfclient 的用户

启动域名

也许您会在上传/部署中看到有关 path=null 或丢失的其他错误

停止域

您可以通过编辑 /glassfish/glassfish/modules/console-common.jar 来修复此问题(使用 zip/rar 应用程序打开它)。找到applications/uploadFrame.jsf,

打开它,编辑标签并将其更改为

保存 uploadFrame.jsf,使用“新”jsf 更新 jar。

启动域名

我浪费了很多时间来修复新版本中即将出现的所有问题,我想这就是全部了。


0
投票

可能的原因:ASADMIN CLI 缺乏文件系统的权限

检查asadmin cli存储数据的目录是否具有写入权限。我们在容器平台中使用 Payara,默认情况下没有文件系统的写入权限。因此,我们必须在容器中安装额外的卷以获得写入权限,并且必须更改 asadmin cli 的工作目录。

cli 存储数据的默认工作目录是

$HOME/.gfclient
。您可以通过以不同方式设置环境变量
AS_GFCLIENT
来更改位置:

Dockerfile:
ENV AS_GFCLIENT=/tmp/.gfclient

Shell:
export AS_GFCLIENT=/tmp/.gfclient

glassfish/config/asenv.conf (Linux):
AS_GFCLIENT="/tmp/.gfclient"

glassfish/config/asenv.bat (Windows):
set AS_GFCLIENT=/tmp/.gfclient

如果您构建自己的 Payara 基础映像,我建议使用 Dockerfile 变体。否则,您可以在 docker 容器的入口点中选择 Shell 变体。我认为使用 asenv 并不那么漂亮。更改 asenv.conf 或 asenv.bat 时请记住,安装新版本的 payara 时这些文件将被覆盖。

源代码参考:https://github.com/payara/Payara/blob/10791ff76bcb6c10199d9c7b8dade88634a19f05/nucleus/common/common-util/src/main/java/com/sun/enterprise/security/store/AsadminSecurityUtil.java# L91

为什么我必须处理 NCLS-ADMIN-00010 代码: 使用 asadmin start-domain 启动域后执行

asadmin stop-domain
时,cli 无法停止域。 cli 的输出如下:

Command stop-domain failed.
No domains are currently running.
CLI306: Warning - The server located at /data/local/domain/domain1 is not running.
NCLS-ADMIN-00010
© www.soinside.com 2019 - 2024. All rights reserved.