क्या कोई यह समझा सकता है कि जावा जावा स्रोत बाइनरी भिन्न वर्ग फ़ाइलों को संकलित कैसे कर सकते हैं?बाइनरी भिन्न वर्गों के लिए समान जावा स्रोत संकलित
प्रश्न निम्न स्थिति से उत्पन्न होती है:
हम एक काफी बड़े आवेदन (800 वर्ग) जो को बांटा गया है, तो पुनर्गठन ट्रंक में वापस reintegrated है। पुनर्संरचना से पहले, हमने ट्रंक को शाखा में विलय कर दिया, जो मानक प्रक्रिया है।
अंतिम परिणाम शाखा के सूत्रों और ट्रंक स्रोतों के साथ निर्देशिकाओं का एक सेट के साथ निर्देशिकाओं का एक सेट था। तुलना से परे हम यह निर्धारित करने में सक्षम थे कि स्रोतों के दोनों सेट समान थे। हालांकि, इंटेलिजे v11 में होस्ट किए गए मेवेन का उपयोग करके संकलन (वही जेडीके) हमने देखा है कि लगभग एक दर्जन या उससे अधिक वर्ग फाइलें अलग थीं।
हम हम एक ही जावा स्रोत के साथ समाप्त हो गया, अंतिम परिणाम के मामले में ऐसा है, तो इससे कोई फर्क नहीं लगता है जाहिरा तौर पर विभिन्न वर्ग फ़ाइलों की प्रत्येक जोड़ी के लिए स्रोत decompiled है। लेकिन ऐसा क्यों है कि फाइलों में से कुछ अलग हैं?
धन्यवाद।
अतिरिक्त सोचा:
Maven/javac एक अलग क्रम में फ़ाइलों को संकलित करता है, तो उस अंतिम परिणाम को प्रभावित कर सकता है?
विभिन्न जेडीके संस्करण? मुझे लगता है कि अनुकूलन विभिन्न संस्करणों के लिए अलग हो सकता है। – RNJ
का उपयोग javap -c -v (धन्यवाद पीटर Lawrey) और परे की तुलना का उपयोग कर संबंधित outputs (महान उपकरण, इसे प्यार करता हूँ!) मैं स्टीफन सी (धन्यवाद स्टीफन सी) प्रतिक्रिया पर है कि आइटम 5 पुष्टि कर सकते हैं देखने के जवाब यहाँ का हिस्सा देता है। कई मामलों में, निरंतर पूल आदेश अलग है। हालांकि, मैं काफी यकीन है कि classpath दोनों के लिए समान है, लेकिन संकलन के आदेश अलग हो सकता है। – Vicki