سؤال

هل من الممكن استدعاء COM API من Java (على وجه التحديد HP/Mercury Quality Center OTA API)؟إذا كان الأمر كذلك، ما هي أفضل طريقة؟

هل شيء مثل يعقوب مناسب؟

ستكون أجزاء التعليمات البرمجية مفيدة للأساسيات :-)

هل كانت مفيدة؟

المحلول

يعقوب :نعم، http://sourceforge.net/projects/jacob-project/ هو مشروع نشط يناسب غرضك بشكل جيد.

يمكنك رؤية أمثلة متعددة: http://jacob-project.wiki.sourceforge.net/Event+Callbacks

ولكن إذا كنت تريد شيئًا أكثر اختبارًا وعلى استعداد لدفع المال، فابحث عنه http://www.nevaobject.com/_docs/_java2com/java2com.htm.

نصائح أخرى

لقد وجدت هذا مفيدًا أيضًا: com4j

يمكنك استخدام Jawin> http://jawinproject.sourceforge.net/

أو حاول التعليمات http://docs.rinet.ru/ZhPP/ch20.htm

آرون كي أرانكي

ربما يجب عليك إلقاء نظرة على http://qctools4j.sourceforge.net/إنها مكتبة جافا تستخدمها qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) لاسترداد العيوب من مراقبة الجودة.

لسوء الحظ، لا يعمل جسر COM مع نظام التشغيل Linux لأنه يقوم بتحميل ملفات jacob dlls

وبعد مقارنة كل ما سبق، لم يكن أي منها مرضيا تماما.

الحل الأكثر اكتمالا هو فيhttps://github.com/Java-native-access/jna

الآن.

انه يدعم،

  • الحصول على واجهة لكائن COM قيد التشغيل
  • بدء كائن COM جديد وإرجاع واجهته
  • استدعاء أساليب COM وإرجاع النتائج
  • معالجة اختيارية منفصلة لمؤشر ترابط COM
  • comEventCallbacks
  • استعلامات RunninObjectTable
  • استخدام COM منخفض المستوى
  • util / تجريد وكيل جافا عالي المستوى

على سبيل المثال

MsWordApp comObj = this.factory.createObject(MsWordApp.class);

Documents documents = comObj.getDocuments();
_Document myDocument = documents.Add();

String path = new File(".").getAbsolutePath();
myDocument.SaveAs(path + "\\abcdefg", WdSaveFormat.wdFormatPDF);
comObj.Quit();

j-Interop هو جسر Java-COM: ي-التشغيل البيني.إنه مكتوب بلغة Java النقية ومرخص بموجب LGPL v3.يستخدم بروتوكول سلك DCOM لاستدعاء كائنات COM بدلاً من أسلوب JNI الذي يستخدمه JACOB.

يمكنك استخدام J-Integra COM2JAVA أداة.تقوم أداة com2java بإنشاء فئات وواجهات "وكيل" Java التي تتوافق مع الفئات المشتركة والواجهات الموجودة في مكتبة نوع COM.يقوم بإنشاء واجهة برمجة تطبيقات Java بشكل فعال والتي يمكنك استخدامها للوصول إلى مكون COM من Java.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top