2009-12-09 9 views
7

में रखने के लिए मैंने नेटबीन की आंतरिक चींटी का उपयोग करके बनाया गया एक वेबपैप विरासत में मिला है।मेवेन वेबएप को जेएसपीएस/WEB-INF/jsp

सभी JSPs में रहते हैं:

WEB-INF/jsp 

और web.xml

मैं Maven युद्ध प्लगइन का उपयोग कर सकते हैं कैसे जगह /WEB-INF/jsp/somefile.jsp के लिंक hardcoded गया है जेएसपी, वर्तमान संरचना के साथ स्थिरता बनाए रखने?

मेरे पोम वर्तमान में पढ़ता है:

<warSourceDirectory>${basedir}/web/WEB-INF</warSourceDirectory> 

उत्तर

12

क्या समस्या? के एक मानक युद्ध परियोजना संरचना पर नजर डालते हैं:

 
$ mvn archetype:create -DgroupId=com.mycompany.app \ 
> -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp 
... 
$ tree my-webapp/ 
my-webapp/ 
|-- pom.xml 
`-- src 
    `-- main 
     |-- resources 
     `-- webapp 
      |-- WEB-INF 
      | `-- web.xml 
      `-- index.jsp 

5 directories, 3 files 

कुछ भी कॉन्फ़िगर करने के लिए कोई ज़रूरत नहीं, बस src/main/webapp/WEB-INF/jsp के तहत अपने JSPs डाल दिया और वहाँ तुम जाओ।

संपादित करें: मुझे समझ नहीं आता क्यों आप अपने Maven युद्ध प्लगइन विन्यास में निम्न पंक्ति है:

<warSourceDirectory>${basedir}/web/WEB-INF</warSourceDirectory> 

अपेक्षित व्यवहार क्या है? आप डिफ़ॉल्ट मान ${basedir}/src/main/webapp का उपयोग क्यों नहीं करते?

+0

हाँ, मैं थोड़ा उलझन में हूं ... –

+1

Vous Avez raison। मैंने अपना warsourcedir $ {basedir}/web में बदल दिया और यह काम करता है। –

2

यह भी ध्यान रखें कि स्रोत/मुख्य/संसाधनों में सब कुछ "कक्षा में" होगा, यानी, युद्ध के निर्माण के दौरान यह सब मेरे वेबपैप/वेब-आईएनएफ/कक्षाओं में कॉपी किया गया है। तो यह आपकी कॉन्फ़िगरेशन फ़ाइलों को रखने के लिए एक अच्छी जगह है, उदाहरण के लिए, log4j.xml/logback.xml, या स्प्रिंग का एप्लिकेशन Context.xml और स्प्रिंग की अन्य कॉन्फ़िगरेशन फ़ाइलें, जिन्हें आप आसानी से क्लासपाथ के साथ संदर्भित कर सकते हैं: somefile.xml।

यह भी बहुत अच्छा बनाता है कि आप मैवेन में फ़िल्टर सेट अप कर सकते हैं ताकि यह फ़ाइलों को स्रोत फ़ाइल/संसाधनों से बदलता है इससे पहले कि वे उन्हें युद्ध फ़ाइल में डाल दें।

इसलिए यदि आपके पास कोई भी कॉन्फ़िगरेशन फ़ाइलें हैं, तो web.xml के अलावा, src/main/webapp/WEB-INF में, उन्हें src/main/संसाधन निर्देशिका में ले जाने के बारे में सोचें।

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