2010-08-23 13 views
22

मुझे एक ऐसा एप्लिकेशन बनाना है जो Outlook और Word को स्वचालित करता है और मैं उस कार्य के लिए जावा का उपयोग करना चाहता हूं। (केवल अनुमति विकल्प VB6 होगा, इसलिए ...)जावा-कॉम ब्रिज कैसे चुनें?

एक त्वरित गूगल सर्वेक्षण मैं कई पुस्तकालयों पाया के बाद, लेकिन मैं जो एक का उपयोग करने के लिए सुनिश्चित नहीं कर रहा हूँ:

मुझे नहीं पता कि इन पुस्तकालयों की तुलना कैसे करें और एक सूचित निर्णय लें। ऐसा लगता है कि COM4J थोड़ा पुराना है, जेएसीओबी स्मृति (कथित तौर पर) लीक करता है और जैकोज़ूम वाणिज्यिक है। एक साधारण विधि कॉल करने के लिए प्रत्येक को बहुत सारे बॉयलरप्लेट कोड की आवश्यकता होती है। (जो COM के डिजाइन को छोड़कर अपरिहार्य हो सकता है)

इसके अलावा मुझे नहीं पता कि उनमें से एक के बीच कैसे चयन करना है। कौन सा सबसे अच्छा है?

+0

जेएसीओबी केवल प्रेषण-इंटरफ़ेस का समर्थन करता है; यह vtable बाध्यकारी नहीं कर सकता है। –

उत्तर

8

हम उत्पादन वातावरण में जैकब का उपयोग करते हैं और यह बहुत अच्छी तरह से काम करता है। फिर भी परियोजनाएं बहुत सक्रिय नहीं लगती हैं।

बोलते हुए: गतिविधि जे-इंटरऑप के लिए एक लाभ प्रतीत होती है। हमने परियोजना की भी कोशिश की और यह बेहतर लॉगिंग संदेशों के साथ बहुत अच्छा काम करता प्रतीत होता है। मुझे लगता है कि हम नई परियोजनाओं के लिए जे-इंटरऑप चुन सकते हैं।

COM4J पुराना प्रतीत होता है, तो आप सही हैं।

+1

हमने जैकब का भी उपयोग किया, और हम Outlook को स्वचालित करने में समस्याएं नहीं चला। –

+0

इसे यहां पोस्टरिटी के लिए छोड़कर: मैं जेएसीओबी का उपयोग कर समाप्त हुआ और यह वास्तव में कुछ भी नहीं की तरह स्मृति को रिसाव करता है। मैंने इसे माप उपकरण स्वचालन के लिए उपयोग किया (कनेक्शन बंद करना और फिर से खोलना एक विकल्प नहीं था), और यह कुछ घंटों के भीतर JVM को क्रैश करेगा। – Siebe

3

जे-एकीकरण Intrinsyc सॉफ्टवेयर http://j-integra.intrinsyc.com/ अपने सबसे अच्छा विकल्प है से। यह एक अपरिचित प्रोग्रामिंग भाषा जानने की जटिलता को छुपाता है। यह जेएनआई पर निर्भर नहीं है इसलिए आपको जेएनआई जानने की जरूरत नहीं है। जे-इंटीग्रै को भी सक्रिय रूप से बनाए रखा और समर्थित किया जाता है और इंट्रिन्सिक शुद्ध 64-बिट वातावरण में चलाने वाले लोगों के लिए शुद्ध 64-बिट संस्करण प्रदान करता है।

इंट्रिन्सैक मुफ्त परीक्षण प्रदान करता है ताकि आप इसका परीक्षण कर सकें और देख सकें कि यह किसी भी क्रय करने से पहले काम करता है या नहीं।

एचपी, आईबीएम, एसएपी, और ओरेकल जैसी कंपनियां इसका उपयोग करती हैं ताकि आप जानते हैं कि यह तेज़, स्थिर और अच्छी तरह से समर्थित है।

5

एक डेवलपर Windows में जावा/लिनक्स में लेकिन अज्ञानी अनुभवी के रूप में, यहाँ था

कार्यकारी सारांश:

  1. com4j साथ जाओ ... चेतावनी उस के साथ:
  2. आप कुछ महत्वपूर्ण हाल च पाने के लिए नवीनतम (अप्रकाशित) कोड का निर्माण करने की आवश्यकता हो सकती है ixes।

लंबे समय तक कहानी:

सबसे पहले, JNI बेवजह दुर्घटना को शामिल कोड के लिए प्रवृत्ति मुझे एक गैर JNI समाधान के लिए देखो बनाया है। J-Interop बिल फिट करने लग रहा था।

हालांकि, जैसा कि मैंने काम करने के लिए जे-इंटरऑप प्राप्त करने का प्रयास किया, सभी विंडोज़ डीसीओएम अनुमतियों और रजिस्ट्री बकवास ने इसे कुल पिटा बनाया। यह विंडोज के विभिन्न संस्करणों के लिए अलग है, आवश्यक परिवर्तन प्रशासक के रूप में किए जाने चाहिए, आदि। मुझे इस विंडोज बकवास में से कोई भी समझ में नहीं आता है और यह मुझे किसी भी तरह से प्यूक करना चाहता है।

मैंने फिर com4j की कोशिश की और यह एक चैंप की तरह काम किया। यह परियोजना बहुत अच्छी तरह से डिजाइन की गई है। यह आपके द्वारा उपयोग किए जा रहे डीएलएल से जावा इंटरफेस को स्वतः उत्पन्न करता है। COM कॉलिंग सम्मेलन विवरण इंटरफ़ेस विधियों पर जावा एनोटेशन का उपयोग करके घोषित किए जाते हैं, जिससे आप आवश्यक होने पर इन्हें ट्विक कर सकते हैं (मेरे मामले में कोई बदलाव आवश्यक नहीं है)।

जिथूब पर कई डेवलपर्स हैं जिन्होंने परियोजना को फोर्क किया है और वापस फिक्स का योगदान दिया है, जो एक स्वस्थ संकेत है।

एकमात्र चेतावनी यह है कि आपको हाल के कुछ सुधारों की आवश्यकता हो सकती है, जो अगस्त 2015 तक परियोजना में विलय हो गए हैं लेकिन नवीनतम रिलीज (जो मार्च 2014 से है) में शामिल नहीं है।

तो आपको खुद को एक कस्टम बिल्ड करने की आवश्यकता हो सकती है, जिसमें विजुअल स्टूडियो, आदि में डीएलएल का निर्माण शामिल है। विंडोज वॉटर/अज्ञानी के रूप में, मैं ऐसा करने में सक्षम था।

संबंधित मुद्दे