首页 > 解决方案 > NumberFormatException 的含义是什么,我该如何解决?

问题描述

我正在用 Python/WLST 编写代码来自动化 weblogic 中托管服务器的连接、启动和停止。启动 Python 时出现以下错误。

异常的含义是什么,我该如何解决?

正在初始化 WebLogic 脚本工具 (WLST) ...

欢迎使用 WebLogic Server 管理脚本外壳

键入 help() 以获取有关可用命令的帮助

172.31.138.15:7001

使用用户 ID weblogic 连接到 t3://172.31.138.15:7001 ...

WLST 检测到未启用 RuntimeMBeanServer。如果通过 JMXMBean 禁用 RuntimeMBeanServer,则可能会发生这种情况。请确保此 MBeanServer 已启用。如果没有此 MBeanServer,联机 WLST 将无法运行。此异常发生在 2020 年 1 月 13 日星期一 08:52:50 CET。java.lang.NumberFormatException:对于输入字符串:“7001”

域无法访问

编码:

-bash

#! /bin/sh

echo $(find /u01/ -name config.xml |grep -v bak| xargs grep -A4 AdminServer | grep listen-address | cut -d'>' -f 2 | cut -d'<' -f 1)

-Python/WLST

import sys
import os
from java.lang import System
import getopt
import time

values = os.popen(str('sh /home/oracle/scripts/wls/adminurl.sh'))
url = str("".join(map(str, values)))
port = ":7001"

adminurl = url.rstrip() + port + "\n"

def connectToDomain():
    try:
        if ServerName != "" or username == "" and password == "" and adminUrl == "":
            print (adminurl)
            connect(userConfigFile='/home/oracle/scripts/wls/userconfig.secure', userKeyFile='/home/oracle/scripts/wls/userkey.secure', url=adminurl, timeout=60000)

[...]

此外,在 Adminserver 控制台中启用了 RuntimeMBeanServer

在此处输入图像描述

标签: javapythonbashweblogicwlst

解决方案


可能是由adminurl = url.rstrip() + port + "\n". 尝试不使用 \n。

假设解释:adminUrl 稍后可以通过“:”符号分成几个部分。在这种情况下,它会尝试将 7001\n 解析为 int,并且在某些方法中会失败,例如 java.lang.Integer#parseInt(java.lang.String)


推荐阅读