2010-07-14 15 views
7

मेरे पास "xxx.jar" नामक बाहरी जार फ़ाइल है। मैं अपने जीडब्ल्यूटी परियोजना में "xxx.jar" का उपयोग करता हूं।किसी जीडब्ल्यूटी (Google वेब टूलकिट) प्रोजेक्ट में बाहरी जार कैसे शामिल करें?

जब मैं चींटी में अपने प्रोजेक्ट का जावास्क्रिप्ट संस्करण बनाने का प्रयास करता हूं, तो मुझे प्रत्येक स्थान पर निम्न प्रकार की त्रुटियों में से एक मिलता है जिसमें मैं xxx का उपयोग करता हूं। चींटी में "gwtc" कार्य करते समय मुझे इस तरह की त्रुटि मिलती है, जावैक संकलन प्रक्रिया ठीक से बढ़ती है।

[ERROR] रेखा 45: नहीं स्रोत कोड प्रकार org.xxx.ObjectName लिए उपलब्ध है; क्या आप एक आवश्यक मॉड्यूल का उत्तराधिकारी भूल गए थे?

ठीक है, तो स्पष्ट रूप से यह देखने/xxx.jar उपयोग करने में सक्षम नहीं है। हालांकि इस समस्या को ठीक करना जीडब्ल्यूटी में उतना आसान नहीं है जितना कि यह "सादे" जावा में है। इंटरनेट ref1 से, मैं इकट्ठा कि मैं जरूरत के लिए

  1. एक स्रोत निर्देशिका
  2. में xxx.jar के सभी स्रोत (जावा) फ़ाइलें शामिल नई gwt.xml फ़ाइल के कुछ प्रकार में इस स्रोत निर्देशिका जोड़ें
  3. आशा और प्रार्थना करता हूँ कि सभी जावा फ़ाइलों GWT द्वारा अनुवाद कर रहे हैं:/

तो ... मैं वास्तव में क्या करते हैं? यह gwt.xml फ़ाइल मुझे क्या उत्पन्न करने की आवश्यकता है (चरण 2)? मैं स्रोत निर्देशिका कहां रखूं, और मैं इसे कैसे संदर्भित करूं (चरण 1)? जीडब्ल्यूटी में बाहरी जार फ़ाइल जोड़ने के लिए आवश्यक यांत्रिक कदम क्या हैं?

उत्तर

4

क्योंकि क्लाइंट साइड ब्राउज़र पर काम करने के लिए आपके जीडब्ल्यूटी स्रोत को जावास्क्रिप्ट में संकलित किया जाना है, यह समझ में आता है कि स्रोत कोड जीडब्ल्यूटी कंपाइलर के लिए उपलब्ध होना चाहिए।

चेक बाहर लार्स Vogels article अपने ट्यूटोरियल में इस पर एक संक्षिप्त अनुभाग के साथ

यह भी समझ में आता है कि प्रतिबंध Google Outline कि इस जार में कोड के सभी GWT के लिए संकलन नहीं हो सकता है की वजह से भले ही आप जावास्क्रिप्ट स्रोत प्राप्त कर सकते हैं।

GWT, केवल जावा 2 मानक और एंटरप्राइज़ संस्करण पुस्तकालयों में कक्षाएं उपलब्ध के एक छोटे सबसेट का समर्थन करता है के रूप में इन पुस्तकालयों काफी बड़े हैं और कार्यक्षमता है कि वेब ब्राउज़रों के भीतर उपलब्ध नहीं है पर निर्भर हैं। पता लगाने के लिए वास्तव में कौन- वर्गों और तरीकों कोर जावा रनटाइम पैकेज के लिए समर्थित हैं, को देखने के GWT JRE Emulation Reference

रॉबर्ट हैन्सन पर how to package GWT components

गुड लक कदम से एक कदम प्रदान करता है ...

0

आप src/com.myproject.blah के तहत एक परियोजना xml फ़ाइल (मेरा Setup.gwt.xml कहा जाता है) जो तरह दिखता होना चाहिए:

<?xml version="1.0" encoding="UTF-8"?> 
<module rename-to='setup'> 
    <!-- Inherit the core Web Toolkit stuff.      --> 
    <inherits name='com.google.gwt.user.User'/> 

    <!-- Inherit the default GWT style sheet. You can change  --> 
    <!-- the theme of your GWT application by uncommenting   --> 
    <!-- any one of the following lines.       --> 
    <inherits name='com.google.gwt.user.theme.standard.Standard'/> 
    <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> --> 
    <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>  --> 

    <!-- Other module inherits          --> 
    <inherits name="com.some.external.library.Utils"/> 

    <!-- Specify the app entry point class.       --> 
    <entry-point class='com.myproject.blah.client.Setup'/> 
    <stylesheet src="MyStyle.css"/> 
</module> 

build.xml फ़ाइल में वहाँ है एक अनुभाग:

<target name="libs" description="Copy libs to WEB-INF/lib"> 
    <mkdir dir="war/WEB-INF/lib" /> 
    <copy todir="war/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet.jar" /> 
    <copy todir="war/WEB-INF/lib" file="/path/to/external/lib.jar" /> 

जहां lib.jar com.some.external.library.Utils स्रोत gwt.xml फ़ाइल से संदर्भित होते हैं।

इंगित करने के लिए (3), अगर बाह्य lib केवल जावा के उस सबसेट का उपयोग करता है तो जीडब्ल्यूटी कंपाइलर जानता है, तो आप ठीक हैं।

मुझे 100% यकीन नहीं है कि उपर्युक्त सही है, लेकिन ऐसा लगता है कि यह मेरे लिए काम करता है।

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