Jython WLST WebLogic

我的操作系统: Windows Server 2008 R2 Enterprise (64-bit)

安装Jython2.7步骤:

1. 安装 vc2008_vcredist_x86.exe (注意: 虽然操作系统是64位的,但Jython2.7依赖32位的VC9.0)

2. 安装 jdk-8u25-windows-x64.exe (注意: Jython2.7要求 >=JDK1.7,JDK1.8适合WIN7和WIN2k8, JDK1.6适合WINXP),安装路径不要包含空格和中文

3. 设置环境变量:JAVA_HOME, JRE_HOME, CLASSPATH, PATH

set JAVA_HOME=C:\Java\jdk1.8.0_25
set JRE_HOME=%JAVA_HOME%\jre
set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
set PATH=%JAVA_HOME%\bin;%JRE_HOME%\bin;%PATH%

4. 重启并验证

javac -version

5. 安装 jython-installer-2.7.0.jar

打印帮助信息
java -jar jython-installer-2.7.0.jar --help

图形方式安装Jython2.7
java -jar jython-installer-2.7.0.jar

控制台方式安装Jython2.7
java -jar jython-installer-2.7.0.jar -console

6. 设置环境变量: JYTHON_HOME

set JYTHON_HOME=C:\jython2.7.0
set PATH=%JYTHON_HOME%\bin;%PATH%

7. 验证Jython

C:\jython2.7.0\bin>dir
 驱动器 C 中的卷没有标签。
 卷的序列号是 88D3-F4D5

 C:\jython2.7.0\bin 的目录

2015/07/25  18:21    <DIR>          .
2015/07/25  18:21    <DIR>          ..
2015/07/25  18:20            95,087 easy_install-2.7.exe
2015/07/25  18:20            95,087 easy_install.exe
2015/04/29  02:25         1,236,153 jython.exe
2015/07/25  18:21            95,059 pip.exe
2015/07/25  18:21            95,059 pip2.7.exe
2015/07/25  18:21            95,059 pip2.exe
2015/04/29  02:25         2,459,136 python27.dll
               7 个文件      4,170,640 字节
               2 个目录 96,630,317,056 可用字节

C:\>jython
Jython 2.7.0 (default:9987c746f838, Apr 29 2015, 02:25:11)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.8.0_25
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

C:\>

至此,Jython2.7已经安装完成。

如果未安装 vc2008_vcredist_x86.exe的话,运行 jython时会提示如下:

C:\>jython
Error loading Python DLL: C:\JYTHON~1.0\bin\python27.dll (error code 14001)

建议:删除Jython2.7安装目录,安装 vc2008_vcredist_x86.exe后,再安装 jython-installer-2.7.0.jar

当使用 DEPENDS.EXE 查找目标依赖关系也无头绪的时候,通过 sxstrace 工具跟踪也许能发现些蛛丝马迹,我就是通过该工具确定了下面的依赖关系:

jython-installer-2.7.0.jar 依赖 vc2008_vcredist_x86.exe

python-2.7.9.amd64.msi 依赖 vc2008_vcredist_x64.exe

sxstrace 工具使用如下:

开启跟踪,按 Enter 停止跟踪
sxstrace trace -logfile:C:/TEMP/1.txt

生成分析日志
sxstrace trace -logfile:C:/TEMP/1.txt -outfile:C:/TEMP/2.txt

下面贴出 sxstrace 跟踪 Jython2.7运行时的报文,从日志中可以看出,其依赖32位的VC9.0

=================
开始生成激活上下文。
输入参数:
    Flags = 0
    ProcessorArchitecture = Wow32
    CultureFallBacks = zh-CN;zh-Hans;zh;en-US;en
    ManifestPath = C:\JYTHON~1.0\bin\python27.dll
    AssemblyDirectory = C:\JYTHON~1.0\bin    Application Config File =
-----------------
信息: 正在解析清单文件 C:\JYTHON~1.0\bin\python27.dll。
    信息: 指令清单定义标识是 (null)。
    信息: 参考: Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
信息: 正在解析参考 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。
    信息: 正在解析 ProcessorArchitecture WOW64 的参考。
        信息: 正在解析区域性 Neutral 的参考。
            信息: 正在应用绑定策略。
                信息: 未找到发布服务器策略。
                信息: 未找到绑定策略重定向。
            信息: 开始程序集探测。
                信息: 未找到 WinSxS 中的程序集。
                信息: 尝试在 C:\Windows\assembly\GAC_32\Microsoft.VC90.CRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.DLL 上探测指令清单。
                信息: 未找到区域性 Neutral 的指令清单。
            信息: 结束程序集探测。
    信息: 正在解析 ProcessorArchitecture x86 的参考。
        信息: 正在解析区域性 Neutral 的参考。
            信息: 正在应用绑定策略。
                信息: 未找到发布服务器策略。
                信息: 未找到绑定策略重定向。
            信息: 开始程序集探测。
                信息: 未找到 WinSxS 中的程序集。
                信息: 尝试在 C:\Windows\assembly\GAC_32\Microsoft.VC90.CRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.DLL 上探测指令清单。
                信息: 尝试在 C:\JYTHON~1.0\bin\Microsoft.VC90.CRT.DLL 上探测指令清单。
                信息: 尝试在 C:\JYTHON~1.0\bin\Microsoft.VC90.CRT.MANIFEST 上探测指令清单。
                信息: 尝试在 C:\JYTHON~1.0\bin\Microsoft.VC90.CRT\Microsoft.VC90.CRT.DLL 上探测指令清单。
                信息: 尝试在 C:\JYTHON~1.0\bin\Microsoft.VC90.CRT\Microsoft.VC90.CRT.MANIFEST 上探测指令清单。
                信息: 未找到区域性 Neutral 的指令清单。
            信息: 结束程序集探测。
    错误: 无法解析参考 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。
错误: 生成激活上下文失败。
结束生成激活上下文。

下面贴出 sxstrace 跟踪 Python2.7安装时的报文,从日志中可以看出,其依赖64位的VC9.0

=================
开始生成激活上下文。
输入参数:
    Flags = 0
    ProcessorArchitecture = AMD64
    CultureFallBacks = zh-CN;zh-Hans;zh;en-US;en
    ManifestPath = C:\Python27\python.exe
    AssemblyDirectory = C:\Python27    Application Config File =
-----------------
信息: 正在解析清单文件 C:\Python27\python.exe。
    信息: 指令清单定义标识是 (null)。
    信息: 参考: Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
信息: 正在解析参考 Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。
    信息: 正在解析 ProcessorArchitecture amd64 的参考。
        信息: 正在解析区域性 Neutral 的参考。
            信息: 正在应用绑定策略。
                信息: 未找到发布服务器策略。
                信息: 未找到绑定策略重定向。
            信息: 开始程序集探测。
                信息: 未找到 WinSxS 中的程序集。
                信息: 尝试在 C:\Windows\assembly\GAC_64\Microsoft.VC90.CRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.DLL 上探测指令清单。
                信息: 尝试在 C:\Python27\Microsoft.VC90.CRT.DLL 上探测指令清单。
                信息: 尝试在 C:\Python27\Microsoft.VC90.CRT.MANIFEST 上探测指令清单。
                信息: 尝试在 C:\Python27\Microsoft.VC90.CRT\Microsoft.VC90.CRT.DLL 上探测指令清单。
                信息: 尝试在 C:\Python27\Microsoft.VC90.CRT\Microsoft.VC90.CRT.MANIFEST 上探测指令清单。
                信息: 未找到区域性 Neutral 的指令清单。
            信息: 结束程序集探测。
    错误: 无法解析参考 Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。
错误: 生成激活上下文失败。
结束生成激活上下文。

Jython2.7应用场景:

Jython导入wl.py模块后,通过WLST脚本语言可以与WebLogic进行实时交互。

确保WebLogic已启动,然后执行如下代码:

@ECHO OFF
SETLOCAL

set WL_HOME=C:\Oracle\Middleware\wlserver_10.3
call "%WL_HOME%\server\bin\setWLSEnv.cmd"

@REM NO SSL
@REM java weblogic.WLST helloworld.py

@REM SSL
java -Dweblogic.security.SSL.ignoreHostnameVerification=true ^
     -Dweblogic.security.TrustKeyStore=DemoTrust ^
     weblogic.WLST ^
     helloworld.py

ENDLOCAL

helloworld.py代码如下:

#!/usr/bin/env jython
# -*- coding: utf-8 -*-

import os
import wl
import sys
sys.path.append(‘C:\\jython2.7.0\\Lib‘)
sys.path.append(‘C:\\jython2.7.0\\Lib\\site-packages‘)

username=‘weblogic‘
password=‘12345678‘

# NO SSL
#wl.connect(username, password, ‘t3://localhost:7001‘)

# SSL
wl.connect(username, password, ‘t3s://localhost:7002‘)

wl.disconnect()

目前,发现一个问题:当仅仅是 jython 启动后,其所有模块都是可以导入的,但是,当通过 java weblogic.WLST helloworld.py 方式启动后,部分 jython自带的模块就无法正常导入,详见我发的帖子:http://segmentfault.com/q/1010000003003164

时间: 2024-12-06 22:45:54

Jython WLST WebLogic的相关文章

如何抓取Thread Dump小结(转)

当服务器挂起,崩溃或者性能底下时,就需要抓取服务器的线程堆栈(Thread Dump)用于后续的分析.Thread dump提供了当前活动的线程的快照. 它提供了JVM中所有Java线程的栈跟踪信息有很多方式可用于获取Thread Dump, 一些是操作系统特定的命令. 操作系统命令获取ThreadDump: Windows:1.      转向服务器的标准输出窗口并按下Control + Break组合键, 之后需要将线程堆栈复制到文件中 UNIX/ Linux 首先查找到服务器的进程号(pr

03_Weblogic之配置简单域:启动和配置域,使用模板创建域,使用控制台

 1  域:概览 是Oracle Weblogic Server的基本管理单元 始终包含一个配置为管理服务器的Oracle WebLogic Server实例 域中可以包括一些称为受管服务器的Oracle Weblogic Server实例(可选) 还可以包含协同工作的服务器实例的集群. 2. 域图 3.配置域 一  安装后,配置将在其上开发和部署应用程序的域. 二  通过创建域,您可以定义资源集合,例如: -----受管服务器 -----集群 -----数据库连接 -----安全服务 --

Python代码样例列表

├─algorithm│       Python用户推荐系统曼哈顿算法实现.py│      NFA引擎,Python正则测试工具应用示例.py│      Python datetime计时程序的实现方法.py│      python du熊学斐波那契实现.py│      python lambda实现求素数的简短代码.py│      Python localtime()方法计算今天是一年中第几周.py│      Python math方法算24点代码详解.py│      Pyth

Weblogic中wlst的使用

从 Weblogic 12c 版本开始,Oracle 移除了 Weblogic 12c 中间件的通过命令行交互形式进行安装和建域的方式.将安装和建域方式默认为通过 Java 界面的形式,在 Windows 系统进行操作时,没有太多的变化,而在 Linux 系统操作时,就变得很麻烦,需要使用远程界面的形式进行操作. 在此基础上,Weblogic 12c 提供了静默安装和静默建域的方式,及通过命令行一步完成,而不再进行命令行多次交互过程. 本文主要介绍使用 Weblogic 12c 提供的 WLST

WLST connecting to WebLogic Admin Server failed : Bootstrap to [IP:Port] failed. It is likely that the remote side declared peer gone on this JVM

转载自: http://onlineappsdba.com/index.php/2014/02/18/wlst-connecting-to-weblogic-admin-server-failed-bootstrap-to-ipport-failed-it-is-likely-that-the-remote-side-declared-peer-gone-on-this-jvm/ WebLogic Scripting Tool (WLST) is a command-line scripting

weblogic 12c WLST静默建域

1.安装weblogic 12C 可参考过往文章 (安装weblogic用的java一定要和建域时候一样  否则报错 ) 2.手动建域,初始化环境变量 $sh /home/weblogic/Oracle/Middleware/Oracle_Home/wlserver/server/bin/setWLSEnv.sh 3.执行wlst脚本 $/home/bea64/Oracle/Middleware/Oracle_Home/wlserver/common/bin/wlst.sh wls:/offli

WLST 命令和变量

下列部分将详细描述 WLST 命令和变量.主题包括:  WSLT 命令类别概述  浏览命令  控制命令  部署命令  诊断命令  编辑命令  信息命令  生命周期命令  节点管理器命令  树命令  WLST 变量参考 WSLT 命令类别概述 注意: 有关命令语法要求,建议您查看 WLST 命令的语法. WLST 命令分为下列几种类别. 表 A-1 WLST 命令类别 命令类别 描述 浏览命令 导航配置 Bean 或运行时 Bean 的层次,并控制提示显示. 控制命令  连接到服务器,或断开与服务

weblogic的基础安装

安装java环境 不能使用centos自带的openjdk  必须使用源码安装 把下载的jdk-8u181-linux-x64.tar 解压到 /usr/src目录下 [[email protected]199-137-5 weblogic]# rpm -qa | grep java javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64 python-java

weblogic的linux静默搭建

前言: Weblogic与Tomcat都是java应用的容器,而这两者有什么大的不同呢?Tomcat是Apache基金会提供的Servlet容器,它支持JSP, Servlet和JDBC等J2EE关键技术,所以用户可以用Tomcat开发基于数据库,Servlet和JSP页面的Web应用,而Tomcat却不是EJB容器:也就是说,Tomcat不支持J2EE的重要技术之一,EJB.那么,使用EJB组件开发的Web应用程序就无法在Tomcat下面运行.众所周知,EJB是分布式应用程序的核心技术,所以说