2010-10-27 14 views
6

मेरे पास यह जावा कोड कुछ अन्य व्यक्ति लिखा है, खासकर जेएसपी। मैं समझने की कोशिश कर रहा हूं कि सबकुछ कहां है।जावा कोड - स्रोत कोड की तलाश

मेरी index.jsp (जो भरी हुई है मुख्य फ़ाइल) यह एक निश्चित नाम स्थान आयात में (मैं बिल्ला सभी संकलन, मैं नहीं जानता कि करता है लगता है):

<%@ page import="org.sgrp.SearchResults"%> 

इस भौतिक स्थान मौजूद नहीं है मेरे क्लास्स्पैट में मुझे लगता है कि यह .jar कोड संरचना के अंदर एक नामस्थान का जिक्र कर रहा है (अगर मैं गलत हूं तो मुझे सही करें)।

तो मुझे इस के लिए स्रोत कोड कैसे मिल रहा है? क्या टोमकैट प्रत्येक प्रोजेक्ट के लिए एक विशिष्ट क्लासस्पैट स्थान सेट करता है?

संपादित

मैं अगर बिलाव एक निश्चित संरचना इस प्रकार है तो मैं पा सकते हैं, जहां इस सामान के लिए स्रोत कोड है समझने की कोशिश कर रहा हूँ।

उत्तर

6

एक वेब आवेदन, वर्ग या संसाधन लोड हो रहा है निम्नलिखित खजाने, इसी क्रम में में लग रहा है के दृष्टिकोण से:

* Bootstrap classes of your JVM 
* System class loader classes 
* /WEB-INF/classes of your web application 
* /WEB-INF/lib/*.jar of your web application 
* $CATALINA_HOME/lib 
* $CATALINA_HOME/lib/*.jar 

the Tomcat docs से।

आपके आवेदन के लिए विशिष्ट कक्षाओं के लिए स्थान WEB-INF/lib/*.jar और WEB-INF/classes हैं। हालांकि, जैसा कि अन्य ने उल्लेख किया है, इसमें संकलित कक्षा फाइलें होंगी और आप wont सटीक जावा स्रोत (डिकंपलिंग के बाद भी) को देखने में सक्षम होंगे

1

जार संकुचित जावाबाइट कोड हैं। स्रोत प्राप्त करने के लिए आपको उन्हें अव्यवस्थित करना होगा। वहां कुछ उपयोगिताएं हैं, लेकिन अगर आप मुझसे पूछते हैं तो डिकंपील्ड कोड के साथ काम करना एक दुःस्वप्न है, मैं इसकी अनुशंसा नहीं करता, खासकर अगर आपको पहले से ही यह पता नहीं था। : डी

स्रोत कोड आम तौर पर कहीं और संग्रहीत किया जाएगा।

जहां तक ​​टोमकैट पर आपके विशिष्ट प्रश्न हैं, मुझे नहीं पता, पहले कभी टॉमकैट के साथ काम नहीं कर रहा था।

0

वर्ग पथ, मेरे अनुभव में, आमतौर पर प्रत्येक परियोजना के चींटी निर्माण फ़ाइल में सेट किया गया है

1

आप दो स्थानों पर जार के लिए देख सकते हैं:

  1. /web-inf/lib directory (यह है सभी कस्टम जार एप्लिकेशन द्वारा उपयोग)
  2. निर्माण फ़ाइल (mvn, चींटी आदि) में
+0

आमतौर पर टॉमकैट में निर्मित फ़ाइल कहां स्थित है? –

+0

यदि आप चींटी का उपयोग कर रहे हैं, तो आम तौर पर मूल फ़ोल्डर में build.xml की तलाश करें और यदि आप मेवेन का उपयोग कर रहे हैं, तो pom.xml देखें (यह सभी जारों को सूचीबद्ध करता है) – zengr

+0

चींटी/मेवेन बिल्ड फ़ाइल का उपयोग आपके वेब के निर्माण के लिए किया जाता है टोमकैट में तैनाती के लिए ऐप - तो यह टॉमकैट के भीतर नहीं होगा लेकिन स्रोत कोड फ़ोल्डर में, जो मुझे विश्वास है कि ओपी तक पहुंच नहीं है? – JoseK

1

स्रोत कोड वहाँ बिल्कुल नहीं हो सकता है। तो, सबसे पहले, आपको यह पता लगाना होगा कि jar में वास्तव में उस आयातित कक्षा है। फिर परियोजना/एपीआई वेबसाइट खोजने के लिए बस वेब पर खोजें। वहां आप स्रोत की तलाश कर सकते हैं, अगर यह एक ओपन सोर्स लाइब्रेरी है। अन्यथा, विघटन केवल एकमात्र विकल्प है, और यह बहुत उपयोगी नहीं हो सकता है।

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