2010-03-03 11 views
6

में बाहरी जार फ़ाइल को जोड़ने के लिए मैं jacob.jar का उपयोग करने जा रहा हूं। लेकिन समस्या यह है कि जैकोब जार फ़ाइल में xxx.gwt.xml फ़ाइल नहीं है। इसलिए मैं इसे अपने प्रोजेक्ट एक्सएमएल फ़ाइल में प्राप्त करने में सक्षम नहीं हूं।जीडब्ल्यूटी परियोजना

इस समस्या को हल करने के लिए कैसे करें? या जीडब्ल्यूटी हमें बाहरी जेएआर फाइल जोड़ने की इजाजत नहीं देता है?

उत्तर

-6

आप बाहरी जार उपयोग कर सकते हैं और अगर मैं समझता हूं कि आप आप xxx.gwt.xml फ़ाइल में डालने की जरूरत नहीं है सही करें। उदाहरण के लिए - मैं अपनी परियोजना बनाने के लिए मेवेन का उपयोग कर रहा हूं और बाहरी जार को pom.xml में निर्भरता के रूप में परिभाषित किया गया है।

3

आप स्रोत या किसी xxx.gwt.xml जरूरत है अगर आप जार में शामिल वर्गों के किसी भी उपयोग करने की योजना होगी। हालांकि सर्वर सर्वर पर समस्या के बिना आप जार का उपयोग कर सकते हैं। जार कक्षाओं के लिए xxx.gwt.xml बनाने के उदाहरण पर http://www.vogella.com/articles/GWTModules/article.html देखें।

+0

अंत में, उसे स्रोत और एक gwt.xml की आवश्यकता होगी। अगर उसके पास केवल स्रोत है, तो वह एक gwt.xml बना सकता है। –

3

आप सर्वर साइड कोड पर पुस्तकालय का उपयोग करने के लिए (या GWT जनरेटर में) चाहते हैं, तो xxx.gwt.xml वारिस की जरूरत नहीं है। यदि आप क्लाइंट साइड कोड पर लाइब्रेरी का उपयोग करना चाहते हैं, तो आपको xxx.gwt.xml का भी उत्तराधिकारी होना होगा और यदि लाइब्रेरी में यह GWT xml फ़ाइल नहीं है तो यह संभवतः जीडब्ल्यूटी के साथ काम नहीं करेगा (यह कंपाइल करने योग्य gwt जेएस कंपाइलर नहीं होगा)। वैसे भी यदि आप चाहें तो अपना खुद का xxx.gwt.xml बना सकते हैं।

पीटर

0

नीचे मेरी परीक्षण वातावरण है, मैं सिर्फ बस एक नई gwt परियोजना खोलने के लिए और यह सर्वर साइड कोड पर संशोधित। मुझे इस कोड में जोड़ा गया है: /** * आरपीसी सेवा के सर्वर साइड कार्यान्वयन। */ @SuppressWarnings ("धारावाहिक") सार्वजनिक वर्ग GreetingServiceImpl फैली RemoteServiceServlet लागू करता GreetingService {

public String greetServer(String input) { 
    ActiveXComponent xl = new ActiveXComponent("Excel.Application"); 
    Object xlo = xl.getObject(); 

संकलन के बाद कोई त्रुटि।

लेकिन जब मैं "ActiveXComponent xl = new ActiveXComponent (" Excel.Aplication ") के बाद डीबग मोड में चलाता हूं;"। :: "ava.lang.UnsatisfiedLinkError: java.library.path में कोई याकूब": युद्ध \ वेब-INF \ lib \ याकूब

मेरी जार फ़ाइल के नीचे रखा जाता है

तो यह इस त्रुटि संदेश दिखाने .jar

5

मैंने समस्या का समाधान नहीं किया। क्योंकि मैंने पाया कि एक और जीडब्ल्यूटी लिब मेरी आवश्यकता को पूरा कर सकता है। लेकिन मुझे जीडब्ल्यूटी फोरम से एक सुझाव मिला। मुझे उम्मीद है कि यह आपकी मदद कर सकता है! नीचे देखें करें:

Blockquote The library you are trying to use is intended for running in a java VM, not a browser's javascript engine. You need either a javascript library to wrap with JSNI, or a java library that meets the requirements below. Google openid gwt and you'll see how people have been able to use openid with gwt.

Blockquote The GWT java->javascript compiler used to create client browser code does not translate any arbitrary Java library for you. For one, it is limited to emulating a subset of the java JRE, so any library may only use that subset of java JRE functionality. For two, it works on the java source code, so any library you expect to use on the client side must be packaged to include its source. There are plenty of libraries people have packaged for use on the GWT client side, but they are packaged using GWT's packaging standard with an xml description file, must include the source, and use the restricted subset of the JRE. http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsCompatibility.html

0

Guaz:

याकूब अपना काम करने में JNI का उपयोग करता है। तो जेएसीओबी के जावा वर्गों को jacob.dll लोड करने की जरूरत है। जेएसीओबी दस्तावेज इसे http://danadler.com/jacob/ में दिखाता है ("डाउनलोड" अनुभाग देखें), यह डीएलएल का उल्लेख करता है।

डीटी को पैथ चर द्वारा संदर्भित निर्देशिका में रखा जाना चाहिए। आप सिस्टम प्रॉपर्टी java.library.path के मान को भी बदल सकते हैं। यहां How to set the java.library.path from Eclipse यह है कि आप इसे ग्रहण में कैसे कर सकते हैं।

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