【问题标题】:How can I create a portable Weblogic Scripting Tool application?如何创建可移植的 Weblogic 脚本工具应用程序?
【发布时间】:2012-06-19 10:10:37
【问题描述】:

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

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

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

我一直按照these 的指示操作,但没有成功。

我当前的设置是这个目录结构,其中的 jars 取自 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

Oracle 论坛上描述的props.txt 为空,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 应用程序?

【问题讨论】:

    标签: java weblogic wlst


    【解决方案1】:

    通过运行以下命令,独立 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. 所需的 jar 在 c:/users/username/wls10/lib 中。
    3. weblogic.home 必须设置为绝对路径,例如c:/users/username/wls10'
    4. 您必须在 /lib 目录中创建一个空白的 props.txt
    5. 我也按照上面的same 说明进行操作。

    【讨论】:

      【解决方案2】:

      我需要的库列表如下:

      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 脚本来定位所有丢失的类。总大小约为 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 $@
      

      不完美,但为我工作。

      【讨论】:

        【解决方案3】:

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

        仓库是https://github.com/cheloide/wlst-standalone

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

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

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

        【讨论】:

          【解决方案4】:

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

          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
          

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

          【讨论】:

          • 您好,请提供如何启动和停止weblogic服务器的步骤和脚本?看到这个SO
          • Abhishek 更好,您可以将您的查询作为新问题提出,您可以在 wlstbyexamples.blogspot.com 中找到脚本
          猜你喜欢
          • 1970-01-01
          • 2010-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多