通过 wlst 连接到服务器时出错

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

我一直在开发一个简单的 wlst 脚本来测试一些基本的管理功能。我的脚本从 wlst.sh 运行得非常好,但是当我尝试通过 ant 任务运行它时,我遇到了各种各样的问题。以下是我最近的错误:

[wlst] java.lang.reflect.InvocationTargetException [wlst] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) [wlst] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [wlst] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [wlst] 在 java.lang.reflect.Method.invoke(Method.java:498) [wlst] 在 weblogic.management.scripting.utils.WLSTUtil.initOfflineContext (WLSTUtil.java:291) [wlst] 在 weblogic.management.scripting.utils.WLSTUtil.setupOfflineInternal (WLSTUtil.java:267) [wlst] 在 weblogic.management.scripting.utils.WLSTUtil.setupOffline (WLSTUtil.java:234) [wlst] 在 weblogic.management.scripting.utils.WLSTInterpreter.(WLSTInterpreter.java:134) [wlst] 在 weblogic.management.scripting.utils.WLSTInterpreter.(WLSTInterpreter.java:76) [wlst] 在 weblogic.management.scripting.WLSTInterpreterInvoker.executePyScript(WLSTInterpreterInvoker.java:57) [wlst] 在 weblogic.management.scripting.WLSTInterpreterInvoker.main(WLSTInterpreterInvoker.java:27) [wlst] 原因:java.util.MissingResourceException:找不到基本名称资源/config-wls/config 的包,区域设置 en_US [wlst] 在 java.util.ResourceBundle.throwMissingResourceException (ResourceBundle.java:1564) [wlst] 在 java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387) [wlst] 在 java.util.ResourceBundle.getBundle(ResourceBundle.java:1082) [wlst] 在 com.oracle.cie.common.util.ResourceBundleManager$ResourceNamespace.manageBundle(ResourceBundleManager.java:341) [wlst] 在 com.oracle.cie.common.util.ResourceBundleManager.manageBundle(ResourceBundleManager.java:94) [wlst] 在 com.oracle.cie.common.util.ResourceBundleManager.manageBundle(ResourceBundleManager.java:108) [wlst] 在 com.oracle.cie.domain.script.jython.WLScriptContext.init(WLScriptContext.java:221) [wlst] 在 com.oracle.cie.domain.script.jython.WLScriptContext.setup(WLScriptContext.java:162) [wlst] 在 com.oracle.cie.domain.script.jython.WLST_offline.setupContext(WLST_offline.java:105) [wlst] ... 11 个 [wlst] *** 尝试连接.... ***** [wlst] 使用用户标识 weblogic 连接到 t3://myhost:7001 ... [wlst] [wlst] CompatabilityMBeanServer 未正确初始化。 [wlst] 如果 CompatabilityMBeanServer 为 [wlst] 通过 JMXMBean 禁用。 [wlst] [wlst] 要查看根本原因异常,请使用 dumpStack() [wlst] [wlst] WLST 检测到未启用 RuntimeMBeanServer。这 如果通过 JMXMBean 禁用了 RuntimeMBeanServer,则可能会发生 [wlst]。 [wlst] 请确保此 MBeanServer 已启用。在线 WLST 不能 [wlst] 没有此 MBeanServer 的功能。 [wlst] Traceback(最里面的最后一个): [wlst] 文件“./wl-test.py”,第 8 行,位于 ? [wlst] 文件“”,第 22 行,在连接中 [wlst] 文件“”,第 648 行,在 raiseWLSTException 中 [wlst] WLSTException:执行连接时出错:“无法连接到 WLST。” [wlst] 使用 dumpStack() 查看完整的 stacktrace

我的 build.xml 有以下任务定义:

<path id="wl.classpath">
        <fileset dir="/Users/me/Oracle/Middleware/wlserver_10.3/server/lib">
              <include name="*.jar"/>
        </fileset>
        <fileset dir="/Users/me/Oracle/Middleware/oracle_common/modules">
              <include name="*.jar"/>
        </fileset>
</path>
  <taskdef name="wlst" classpathref="wl.classpath" classname="weblogic.ant.taskdefs.management.WLSTTask" />

这是我的目标:

  <target name="wlstTest">
   <wlst debug="false" failOnError="false" executeScriptBeforeFile="true"
    fileName="./wl-test.py">
    <script>
      print("*** Trying to Connect.... *****")
      connect('weblogic','weblogic','t3://myhost:7001')
      print("*** Connected *****")
    </script>
   </wlst>
</target>

我已确认在我的服务器上启用了 CompatabilityMBeanServer。

最让我困惑的是,当我通过 wlst.sh 脚本执行它时,它工作正常。

java ant weblogic wlst
1个回答
0
投票

当然这是最近的回答,但这可以帮助一些初学者。

ant 构建脚本的更好选择是具有包含类路径的 taskdef。

  <taskdef classname="weblogic.ant.taskdefs.management.WLSTTask" name="wlst">
    <classpath>
      <pathelement location="${weblogic.lib.dir}/weblogic.jar">
    </pathelement></classpath>
  </taskdef>

请参考我的WLSTByExample 博客链接

© www.soinside.com 2019 - 2024. All rights reserved.