51Testing软件测试论坛

标题: QTP和jdk环境变量冲突,无法共存,求大牛指导!!! [打印本页]

作者: 守夜天使    时间: 2014-8-11 09:59
标题: QTP和jdk环境变量冲突,无法共存,求大牛指导!!!
QTP安装了java插件,配置了一些环境变量如_JAVA_OPTIONS,和jdk的环境变量貌似冲突。我本地需要运行一个java小程序,每次运行都说无法创建java虚拟机。
将_JAVA_OPTIONS等环境变量都删了,java小程序就能正常运行,但是QTP的java插件就用不了。
运行java -version如下:
C:\Users\Administrator.WIN-BVMA093QIN2.002>java -version
Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
Picked up _JAVA_OPTIONS: -Xrunjvmhook -Xbootclasspath/a:"C:\Prog
ared\classes\jasmine.jar"
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)
我看网上说可能跟程序的安装顺序有关,试了各种顺序的安装,都不行。
但是发现,xp32位和win7 32位,虽然有以上的提示,但是可以正常使用的,QTP和java小程序都没有问题。
只有win7 64位不行。
好几天了,上网看了各种方法,都不行。
求大神!!



然后还发现,xp 32位,
作者: 守夜天使    时间: 2014-8-11 10:22
刷一刷,表沉下去。
作者: 守夜天使    时间: 2014-8-11 10:40
再刷~
作者: 守夜天使    时间: 2014-8-11 13:38
顶一下~
作者: 守夜天使    时间: 2014-8-11 14:59

作者: Shawn_xiao    时间: 2014-8-11 16:57
你试试删除这2个环境变量:JAVA_OPTIONS, JAVA_TOOL_OPTIONS
作者: 守夜天使    时间: 2014-8-11 17:42
回复 6# Shawn_xiao
试过,删了这几个变量java小程序是可以打开的。但是QTP的java插件就用不了了,完全识别不出来java对象。
作者: Shawn_xiao    时间: 2014-8-11 17:54
回复 7# 守夜天使

我丛HP论坛粘贴了一个回复你看下:Title: QuickTest Professional (QTP) configuration crashes (or prevent start/launch of) Java applications (or Oracle)
Document ID: KM543247
Product: QuickTest Professional,Functional Testing
Version:   Updated: 2012-Jun-01
Summary: Is it possible to limit when the agent for QuickTest Professional is loaded into a Java application? Sometimes users finds that QTP will cause Java based applications to behave unexpectedly, or sometimes even to crash

Problem

When both QTP and a Java application is installed on the same machine, some users may find that their Java application may not function correctly or may often crash unexpectedly. This occurs with QTP running but no neccessarily recording.

Cause

Collisions with the changes to the Java environment made by QTP's Java or Oracle addin have prevented the applications from launching correctly.

Fix   

This will ensure that the Java support is only loaded when QTP and the Java / Oracle addin are loaded
Close QTP and any Java or Oracle related applications.

Note: steps 2 to 6 are for Web related applications of the Java/Oracle type (mostly Applets)
Navigate to the Java control panel.
Start -> Control panel -> Java control panel
Under the Java Advanced tab navigate to "<APPLET > tab support" (for Java 1.5.x) or "Default Java plugin for browsers" (for Java 1.6.x).

Note: For Vista or later operating systems, it appears this option may be disabled)
Please uncheck the checkbox "Internet Explorer"
Click "Ok" and continue until Java Control Panel is closed
Navigate to the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\JavaAgent\LoadDependsOnPackage - 32bit Operating System
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\JavaAgent\LoadDependsOnPackage - 64bit Operating System

Modify the value from “0” to "1". The default value is 0 which indicates that the agent is always loaded into an application. If this value is then changed to 1, it will instruct the agents to only be injected when QTP and the Java addin are loaded.
For changes to take effect, please restart the machine
作者: 守夜天使    时间: 2014-8-12 09:19
回复 8# Shawn_xiao
按照这个方法试了,java控制面板里他说的那个选项,是默认选中的,改不了。光把注册表里的0改成1,没好,还是那样。你能找到这种答案也真是太有心了。。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2