Wir laufen auf Windows 7 Enterprise, SP1, 64bit. Wir haben gerade Java 7 auf all unseren Rechnern installiert, was folgendes Problem verursacht:
Wenn mein Programm versucht, mit der OpenTestArchitecture-API von Quality Center zu kommunizieren, kann es die ActiveX-Komponente nicht erstellen. Ich verwende JACOB als meine Java-COM-Bibliothek. Das Aktualisieren auf die neueste Version von JACOB ändert nichts.
Der folgende Test funktioniert mit jdk1.6.0_24 (32 Bit), schlägt aber mit jdk1.7.0_04 (32 Bit) fehl:
%Vor%jdk1.6.0_24 Ausgabe:
%Vor%jdk1.7.0_04 Ausgabe:
%Vor%Die ursprüngliche ComFailException-Nachricht lautet "Objekt kann nicht gemeinsam erstellt werden", aber ich habe den folgenden Code in der jacob Dispatch.cpp bearbeitet: (Ich habe CoCreateInstance nicht berührt, ich wollte nur wissen, was das HRESULT war )
%Vor%Hat jemand eine Ahnung, was das Problem sein könnte? Der einzige Unterschied ist, dass ich zwischen der Laufzeit von Java 6 und Java 7 wechsle.
Vielen Dank für Ihre Hilfe!
PS: Excel funktioniert mit beiden Versionen und ein Wechsel zur com4j-Bibliothek ändert nichts. (Ich habe einen com4j-Test, habe ihn aber nicht gepostet, weil ich schon genug Code gepostet habe)
Bearbeiten: Derselbe Test funktioniert mit Windows XP, SP3 und Java 7.
Jacob DLL ist mit jvm.dll
(Methoden und Strukturen) von der JRE verbunden. Also meine Vermutung ist, dass die Jacob-DLL aus Quellen mit Java 7 kompiliert werden sollte, um richtig in Java 7 JRE zu laden.
Sie sind nicht allein , aber ich denke, zu wenige Leute laufen bereits Java 7 ...
Update: Ich schlage vor, dass Sie zuerst mit Process Monitor nachfragen, falls dies der Fall ist sind einige Bibliotheks- oder Systemaufrufe in Ihrem Java-Prozess fehlgeschlagen, bevor Sie den Prozess selbst in einem Debugger ausgeführt haben ... Vielleicht ist OpenJDK 7 möglicherweise eine Option, um es zu versuchen, es sollte dann einfacher zu debuggen sein, zumindest um das Problem zu diagnostizieren .
Tags und Links java com java-7 jacob hp-quality-center