Java HP ALM OTAClient.dll与64位操作系统不兼容
我添加了一个代码,通过Eclipse(Java)在Java HP ALM OTAClient.dll与64位操作系统不兼容,java,alm,hp-quality-center,com4j,Java,Alm,Hp Quality Center,Com4j,我添加了一个代码,通过Eclipse(Java)在HP ALM中连接并创建了一个缺陷,在该缺陷中,它与OTAClient和com4j.jar进行通信。我成功地在32位操作系统中连接并创建了一个缺陷,但无法在基于64位的操作系统上连接它 我走遍了这里发布的一些解决方案,即使成功地遵循了解决方案,我也无法实现解决方案。 [1]: .. 这是我的密码 import com.ClassFactory; import com.IBug; import com.IBugFactory; import c
HP ALM
中连接并创建了一个缺陷,在该缺陷中,它与OTAClient和com4j.jar进行通信。我成功地在32位操作系统中连接并创建了一个缺陷,但无法在基于64位的操作系统上连接它
我走遍了这里发布的一些解决方案,即使成功地遵循了解决方案,我也无法实现解决方案。
[1]: ..
这是我的密码
import com.ClassFactory;
import com.IBug;
import com.IBugFactory;
import com.ITDConnection;
import com4j.Variant;
public class AlmQc {
public static void main(String args[])
{
login();
}
public static void createDefect(ITDConnection connection) {
IBugFactory bugFactory = (IBugFactory) connection.bugFactory().queryInterface(IBugFactory.class);
IBug bug = (bugFactory.addItem(new Variant(Variant.Type.VT_NULL))).queryInterface(IBug.class);
bug.assignedTo("Administrator");
bug.detectedBy("Administrator");
bug.status("New");
bug.project("Banking");
bug.summary("Created by Esh");
//bug.priority("Low");
bug.field("BG_SEVERITY", "2-Medium");
bug.field("BG_DETECTION_DATE", "2016-01-27 00:00:00");
bug.post();
}
public static void login()
{
String url = "http://almqc:8080/qcbin";
String username = "Administrator";
String password = "********";
String domain = "DEFAULT";
String project = "Banking";
ITDConnection itdc = ClassFactory.createTDConnection();
itdc.initConnectionEx(url);
itdc.connectProjectEx(domain, project, username, password);
System.out.println(itdc.projectConnected());
createDefect(itdc);
}
在eclipse中运行上述代码时,我遇到了以下错误
Exception in thread "main" com4j.ExecutionException: com4j.ComException: 80040154 CoCreateInstance failed : Class not registered : .\com4j.cpp:153
at com4j.ComThread.execute(ComThread.java:203)
at com4j.Task.execute(Task.java:25)
at com4j.COM4J.createInstance(COM4J.java:97)
at com4j.COM4J.createInstance(COM4J.java:72)
at com.mercury.qualitycenter.otaclient.ClassFactory.createTDConnection(Unknown Source)
at Sample.main(Sample.java:18)
Caused by: com4j.ComException: 80040154 CoCreateInstance failed : Class not registered : .\com4j.cpp:153
at com4j.Native.createInstance(Native Method)
at com4j.COM4J$CreateInstanceTask.call(COM4J.java:117)
at com4j.COM4J$CreateInstanceTask.call(COM4J.java:104)
at com4j.Task.invoke(Task.java:51)
at com4j.ComThread.run0(ComThread.java:153)
at com4j.ComThread.run(ComThread.java:134)
请提供在基于64位的操作系统上成功执行的任何演练或解决方案。您必须制作一个32位版本的程序,该程序可以使用32位版本的OTACLIENT.DLL。我不知道OTACLIENT.DLL的64位版本。OTACLIENT是纯windows DLL,即使您使用的是java,也需要在windows计算机上注册它。更好的方法是将它与.net一起使用,在这种情况下,您可以创建通过http公开的windows/web服务。使用此服务,您可以开发c#代码来使用OTAClient.dll执行操作。使用web/rest/wcf服务,您可以与开发的服务通信。Gr8的一部分是它允许您运行64位体系结构。IIS还允许在应用程序池级别使用选项“启用32位应用程序”。问题不在于64位操作系统,而在于64位JRE。如果您使用的是IDE,请将JRE库(构建路径)指向32位JRE(bin文件夹),否则还可以在64位计算机中安装32位JRE并在该环境中运行