java चन्द्र - ग्रहण वर्गपथ घोषणाओं को समझना




२०१८ (3)

मैं एक्लिप्स वर्गपथ फ़ाइल को समझने की कोशिश कर रहा हूं, विशेष रूप से, मैं यह जानना चाहता हूं:

  1. ये जेआरई का उपयोग कैसे कर रहा है (यानी यह जीएमएम सीधे इस एक्सएमएल फाइल को पढ़ रहा है, या एक्लिप्स किसी तरह इसे अपने आंतरिक कंपाइलर में खिला रहा है)?

  2. जब मैं अपनी कक्षाओं को अपने आईडीई से चलाऊं तो जटिल प्रविष्टियां (नीचे आइवी पथ की तरह) पार्स और जेवीएम क्लास लोडर में शामिल की जाती हैं?

प्रसंग: मेरे पास एक अजीब बग है, जो कि ग्रहण एक वर्ग के "गलत" संस्करण का उपयोग कर रहा है, जबकि मेरी आइवी / एंट बिल्ड सही संस्करण का उपयोग कर रहा है, और मैं इस प्रकार ईक्लीप्स को बेहतर करना चाहता हूं, निर्माण। ऐसा करने के लिए, मुझे लगता है कि मुझे ग्रहण परियोजना / कक्षापथ फाइलों को देखना होगा।

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="test"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="lib" path="conf"/>
    <classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&amp;confs=*"/>
    <classpathentry kind="output" path="build"/>
</classpath>

Answers

समस्या यह हो सकती है:

इसका अर्थ है आपके ग्रहण वर्गपथ में, आपको एक ही कक्षा के दो अलग-अलग संस्करण होने चाहिए (विभिन्न संस्करणों की दो अलग-अलग जार फ़ाइलें)। यदि मामला है, तो एक को हटाने का प्रयास करें आपके ग्रहण के निर्माण के रास्ते में "बिल्ड ऑर्डर" नामक कुछ भी है, जहां आप इसे बदलने के लिए क्लासपाथ जार के ऑर्डर को निर्दिष्ट कर सकते हैं।


दो अलग चीजें:

1) प्रोजेक्ट क्लासपाथ का इस्तेमाल एक्लिपस जावा कम्पाइलर (ईजेसी) का उपयोग करके अपने कोड को संकलित करने के लिए किया जाता है, इसलिए फ़ाइल जानकारी ईजेसी को दी जाती है।

2) जब आप एक लॉन्च कॉन्फ़िगरेशन बनाते हैं, तो आप वास्तव में अपने आवेदन को चलाने के लिए क्लासपाथ को घोषित कर रहे हैं, जो कि डिफ़ॉल्ट रूप से आपके प्रोजेक्ट क्लासपाथ पर आधारित है। यह क्लासपाथ JVM को एक तर्क के रूप में पारित किया जाता है जैसे कि आप मैन्युअल रूप से यह करते हैं (जावा-सीपी $ {classpathentries} yourmainclass)। यदि आप यह पता लगाना चाहते हैं कि आपके लॉन्च कॉन्फ़िगरेशन का क्लासपाथ क्या है, तो अपने ऐप / कक्षाओं को डीबग मोड में लॉन्च करें, और डीबग दृश्य में, अपनी प्रक्रिया का चयन करें और गुणों पर क्लिक करें जहां आप पूर्ण कक्षा (सभी जार / निर्देशिका जो कि JVM के तर्क के रूप में पारित हो जाती है)

NB: मैं अपने आइवी रास्ता सामान नहीं देख सकता।


इस समस्या को ठीक करने के लिए, बस debug.keystore फ़ाइल को हटा दें।

एवीडी के लिए डिफ़ॉल्ट भंडारण स्थान है

~ / .android / ओएस एक्स और लिनक्स पर।

सी में: \ विंडोज़ XP पर \ दस्तावेज़ और सेटिंग्स \ .android \

सी: \ उपयोगकर्ता \ .android \ विंडोज विस्टा और विंडोज 7 पर।

यह लिंक भी देखें, जो सहायक हो सकता है।

http://developer.android.com/tools/publishing/app-signing.html





java eclipse ant classpath ivy