【问题标题】:Connecting to HPQC from 64bit JAVA从 64 位 JAVA 连接到 HPQC
【发布时间】:2014-05-20 14:40:54
【问题描述】:

在尝试从 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 在 com4j.Native.createInstance(本机方法) 在 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。

任何帮助将不胜感激。

问候, 段落

【问题讨论】:

    标签: java eclipse hp-quality-center com4j


    【解决方案1】:

    COM API 仅为 32 位,不能被 64 位进程访问。我在 .NET 应用程序中遇到了同样的问题,我一直停留在 32 位,直到我可以移动到 REST API(它是无位的)或在外部进程中托管我的依赖于 COM 的代码。

    【讨论】:

      【解决方案2】:

      可以通过在 c:\Windows\SysWow64 中注册所有 3 个 .dll 文件来解决此问题。而不是 c:\Windows\System32。

      希望对你有帮助:)

      【讨论】:

        猜你喜欢
        • 2013-10-20
        • 2017-03-14
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        • 2012-09-18
        • 1970-01-01
        • 2012-05-04
        相关资源
        最近更新 更多