在尝试从64位计算机(具有64位JAVA和ECLIPSE)连接HPQC时,我得到了下面提到的例外:
线程中的异常" main" com4j.ExecutionException:com4j.ComException:80040154 CoCreateInstance失败:未注册的类:。\ com4j.cpp:153 在com4j.ComThread.execute(ComThread.java:203) 在com4j.Task.execute(Task.java:25) 在com4j.COM4J.createInstance(COM4J.java:97) 在com4j.COM4J.createInstance(COM4J.java:72) 在com.qc.ClassFactory.createTDConnection(ClassFactory.java:16) 在com.java.Test.main(Test.java:25) 引起:com4j.ComException:80040154 CoCreateInstance失败:类未注册:。\ com4j.cpp:153 at com4j.Native.createInstance(Native Method) 在com4j.COM4J $ CreateInstanceTask.call(COM4J.java:117) 在com4j.COM4J $ CreateInstanceTask.call(COM4J.java:104) 在com4j.Task.invoke(Task.java:51) 在com4j.ComThread.run0(ComThread.java:153) 在com4j.ComThread.run(ComThread.java:134)
PFB我的代码:
public static void main(String [] args){ // TODO自动生成的方法存根
//QC url
String url = "https://qc_link/qcbin";
//username for login
String username = "username";
//password for login
String password = "password";
//domain
String domain = "domain";
//project
String project = "project";
ITDConnection itdc = ClassFactory.createTDConnection();
System.out.println("Connecting");
itdc.initConnectionEx(url);
itdc.connectProjectEx(domain, project, username, password);
System.out.println("Connected......");
}
}
以上代码适用于32位Java和Eclipse。
任何帮助都将受到高度赞赏。
此致 Parag
答案 0 :(得分:1)
COM API仅为32位,64位进程无法访问。我遇到了与.NET应用程序相同的问题,我在32位中陷入困境,直到我可以移动到REST API(无点)或在外部进程中托管我的COM依赖代码。
答案 1 :(得分:-2)
可以通过在c:\ Windows \ SysWow64中注册所有3个.dll文件来解决此问题。而不是c:\ Windows \ System32。
希望它可能会有所帮助:)