如何创建可移植的Weblogic Sc​​ripting Tool应用程序?

时间:2012-06-19 10:10:37

标签: java weblogic wlst

我正在创建WLST脚本,这些脚本将针对运行weblogic的服务器运行,该服务器已被锁定。除非经过预先授权的更改,否则我只有权查看日志和只读控制台。我无权访问整个weblogic域并运行WLST。

我想在安装了Java而不是Weblogic的不同服务器上运行WLST。

我最初希望在类路径中添加一个weblogic jar然后运行该工具,但这似乎有点复杂。

我一直在遵循these指示,但没有成功。

我目前的设置是这个目录结构,其中的jar取自weblogic 12.1.1:

├── launch.sh
├── lib
│   ├── com.bea.core.utils.full_2.0.0.0.jar
│   ├── com.bea.core.xml.xmlbeans_2.2.0.0.jar
│   ├── com.oracle.cie.comdev_6.4.0.0.jar
│   ├── com.oracle.cie.config_7.2.0.0.jar
│   ├── com.oracle.cie.config-wls_7.2.0.0.jar
│   ├── com.oracle.cie.config-wls-schema_10.3.6.0.jar
│   ├── com.oracle.cie.wizard_6.1.0.0.jar
│   ├── com.oracle.core.weblogic.msgcat_1.3.0.0.jar
│   ├── jython.jar
│   ├── weblogic.jar
│   ├── weblogic.server.modules.jsf2.0_12.1.1.0.jar
│   ├── wlclient.jar
│   ├── wlfullclient.jar
│   └── wlthint3client.jar
└── props.txt

props.txt在Oracle论坛上描述为空,而launch.sh包含:

java -cp $(echo lib/*.jar | tr ' ' ':') -Dprod.props.file=props.txt -Dbea.home= -Dweblogic.home= weblogic.WLST 

在运行launch.sh时,我收到错误:

sam@ubuntu64vm:~/Desktop/scripts$ ./launch.sh

Initializing WebLogic Scripting Tool (WLST) ...

Problem invoking WLST - java.lang.NullPointerException

是否可以创建最小/可移植的WLST应用程序?

4 个答案:

答案 0 :(得分:3)

独立WSLT通过运行以下命令适用于Weblogic 10.3.4(请参阅注释3,这会停止java.lang.NullPointerException):

java -cp lib/wlfullclient.jar;lib/com.bea.core.xml.xmlbeans_2.2.0.0.jar;lib/com.oracle.cie.comdev_6.3.0.0.jar;lib/com.oracle.cie.config-wls-schema_10.3.4.0.jar;lib/com.oracle.cie.config-wls_7.1.0.0.jar;lib/com.oracle.cie.config_7.1.0.0.jar;lib/com.oracle.cie.wizard_6.1.0.0.jar;lib/com.oracle.core.weblogic.msgcat_1.1.0.0.jar;lib/jython.jar;lib/weblogic.jar -Dprod.props.file=lib/props.txt -Dbea.home= -Dweblogic.home=c:/users/username/wls10 weblogic.WLST your-script.py

关于脚本的说明:

  1. 我的WLST示例设置是从 c:/ users / username / wls10
  2. 运行的
  3. 所需的jar位于 c:/ users / username / wls10 / lib
  4. 必须将weblogic.home设置为绝对路径,例如的 C:/用户/用户名/ wls10'
  5. 您必须在 / lib 目录中创建一个空白 props.txt
  6. 我还按照上面的same说明操作。

答案 1 :(得分:1)

我需要的库列表如下:

coherence.jar
com.bea.core.xml.xmlbeans.jar
com.oracle.cie.comdev_7.7.0.0.jar
com.oracle.cie.config_8.4.0.0.jar
com.oracle.cie.config-external_8.4.0.0.jar
com.oracle.cie.config-owsm_8.4.0.0.jar
com.oracle.cie.config-security_8.4.0.0.jar
com.oracle.cie.config-wls_8.4.0.0.jar
com.oracle.cie.config-wls-external_8.4.0.0.jar
com.oracle.cie.config-wls-schema_8.4.0.0.jar
com.oracle.cie.dependency_1.7.0.0.jar
com.oracle.cie.encryption_2.4.0.0.jar
com.oracle.cie.service-table_1.4.0.0.jar
com.oracle.cie.wizard_7.7.0.0.jar
com.oracle.core.weblogic.msgcat.jar
com.oracle.glcm.common-logging_1.5.0.0.jar
com.oracle.glcm.encryption_2.6.0.0.jar
com.oracle.weblogic.lifecycle.provisioning.api.jar
com.oracle.weblogic.lifecycle.provisioning.core.jar
com.oracle.weblogic.lifecycle.provisioning.wlst.jar
cryptoj.jar
jython-modules.jar
weblogic.jar
wlfullclient.jar
wls-api.jar
wlst-impl.jar

我使用jarscan实用程序通过尝试运行几个wlst脚本来查找所有缺少的类。总大小为cca 150MB

我的launch.sh如下:

#!/bin/bash
MYDIR=$(dirname $0)
CP=$(echo $MYDIR/lib/*.jar | tr ' ' ':')
echo $CP
java -cp $CP -Dprod.props.file=$MYDIR/props.txt -Dbea.home=`pwd` -Dweblogic.home=`pwd` weblogic.WLST $@

不完美,但为我工作。

答案 2 :(得分:1)

我制作了一个脚本来检索独立WLST工具的所有必需文件

存储库为https://github.com/cheloide/wlst-standalone

script提取Weblogic Server并将其安装在一个临时位置,创建wlfullclient.jar,然后将所需的资源复制到您选择的目录或工作路径中

我还在同一仓库中制作了另一个script,以使用Weblogic.Deployer工具

当前该工具仅适用于GNU / Linux ;可以在Mac-OS上进行一些调整。

答案 3 :(得分:0)

我最近在WLS 12.1.3上遇到了同样的问题,最终得到了一组不同的依赖罐。这就是我需要的:

wlfullclient.jar
weblogic.jar
com.bea.core.xml.xmlbeans_1.0.0.0_2-6-0.jar
com.oracle.cie.comdev_7.1.0.0.jar
com.oracle.cie.config-owsm_8.1.0.0.jar
com.oracle.cie.config-security_8.1.0.0.jar
com.oracle.cie.config-wls-schema_12.1.3.0.jar
com.oracle.cie.config-wls_8.1.0.0.jar
com.oracle.cie.config_8.1.0.0.jar
com.oracle.cie.dependency_1.1.0.0.jar
com.oracle.cie.encryption_2.1.0.0.jar
com.oracle.cie.service-table_1.1.0.0.jar
com.oracle.cie.wizard_7.1.0.0.jar
com.oracle.core.weblogic.msgcat_3.0.0.0.jar
jython-modules.jar

已经针对启动/停止服务器和取消部署/部署应用程序进行了测试。