我正在编写一个简单的脚本,以便在几个 WL 环境(其中包括 v8.1 和 v9.2)中更改 JDBC 连接 URL。
我想在任何 WL 安装之外创建一个独立脚本,只包含 wlst.jar/jython.jar/weblogic.jar,它可以在 WL 8.1 和 9.2 上运行(显然通过引用不同的 MBean)。
现在,这对于 WL 8.1 来说已经没问题了。我从服务器复制了 weblogic.jar,并设法获得了 wlst.jar 和 jython.jar(这不容易,Oracle 不再托管它们)。此外,我还需要确保在与服务器相同的 JRE 下本地运行(WL8.1 在 Java 1.4.2 上运行)。
但是如果我尝试从此设置连接到 WL 9.2,则在尝试访问任何 MBean 时都会出现 NullPointerException(可能是因为我在 JRE 1.4.2 上运行,而 WL 9.2 使用 1.5.0)。
另外,我无法为 WL 9.2 创建独立环境。如果我从 9.2 复制 weblogic.jar 并运行 WLST,如下所示:
java -cp "wlst.jar:jython.jar:weblogic-92.jar" weblogic.WLST
我收到java.lang.NoClassDefFoundError: weblogic/management/configuration/RepositoryMBean
错误。我在 中找不到此类weblogic92/server/lib
,但它是在 WL 8.1 的 weblogic.jar 内部。
所以我真的失去了耐心……
有没有办法创建一个可以连接到任何版本 WebLogic(同时是 8.1 和 9.2)的独立 WLST 客户端?
我真的不想必须通过 ssh 进入 WL 环境来运行我的 WLST 脚本......
欢迎提出任何想法/建议。
谢谢,
伊万
答案1
我认为 WLST 有不同的版本,一个适用于 1.4,另一个适用于 1.5。当您尝试调用 1.5 版本时,您无法使用 java 1.4。
最好的办法是使用一个包装脚本来启动单独的 WLST 会话,然后统一返回结果。
答案2
从 WebLogic 9.X 开始,WLST.jar 文件作为 BEA_HOME/weblogic922/server/lib 目录中 weblogic.jar 文件的一部分提供。
您可以按如下方式运行 WLST。
java -cp C:\bea103\wlserver_10.3\server\lib\weblogic.jar weblogic.WLST
否则,你可以运行设置域环境脚本设置类路径,然后按如下所示运行。
java weblogic.WLST
有关更多 WLST 脚本,您可以参考以下链接。
http://weblogic-wonders.com/weblogic/wlst/
干杯,Anandraj http://weblogic-wonders.com