2009-04-22 13 views
10

मैं निर्भरता प्रबंधन के लिए maven2 का उपयोग कर रहा हूं। मेरे पास एक प्रोजेक्ट है जिसमें कुछ जावा फाइलें और कुछ जेएसपी फाइलें और एक अन्य प्रोजेक्ट, एक वेब प्रोजेक्ट है, जो कि पहली परियोजना पर निर्भर करता है। मैं वेब प्रोजेक्ट से जेएसपी फाइलों का उपयोग कैसे करूं?मेवेन, निर्भरता में जेएसपी फाइल

मैं देख सकता हूं कि jsp फ़ाइलों को 1-0-SNAPSHOT-sources.jar में जोड़ा गया है और 1-0-SNAPSHOT.jar (जिसे वेब प्रोजेक्ट्स pom.xml में निर्भरता के रूप में जोड़ा गया है) में जोड़ा गया है।

+0

वास्तव में किस प्रकार दूसरी परियोजना JSPs पर "निर्भर" है की तलाश में मदद करता है? उनके साथ क्या करता है? उन्हें शामिल करें? उन्हें पार्स करें? कुछ और? – kazanaki

उत्तर

13

मुझे लगता है कि ऐसा करने के लिए सही मेवेन-तरीका जेएसपी फ़ाइलों को आपके वेब प्रोजेक्ट में/src/main/webapp के अंतर्गत रखना होगा। यदि किसी कारण से यह संभव नहीं है, तो आप आवश्यक फ़ाइलों को अपने वेबैप में कॉपी करने के लिए Maven Dependency Plugin का उपयोग कर सकते हैं। या, यदि आपके पास एक WAR प्रोजेक्ट है, तो आप JSP-Files की प्रतिलिपि बनाने के लिए Overlay का उपयोग कर सकते हैं। दूसरा विकल्प (जो मैं सलाह देते हैं), कुछ इस तरह दिखेगा:

<build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
      <overlays> 
       <overlay> 
       <groupId>myGroupId</groupId> 
       <artifactId>myArtifactId</artifactId> 
       <type>jar</type> 
       <includes> 
        <include>**/*.jsp</include> 
       </includes> 
       <targetPath>WEB-INF/pages</targetPath> 
       </overlay> 
      </overlays> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
+0

उत्तर के लिए धन्यवाद। युद्ध ओवरले परियोजना के लिए सही समाधान था। – vpalle

+2

मदद करने के लिए खुशी हुई। तब एक अपवित्र के बारे में कैसे ...;) –

+0

+1 समाधान के लिए बहुत बहुत धन्यवाद :) – dira

0

कि समाधान के साथ समस्या यह है कि जब ग्रहण के साथ developping, परियोजना ओवरले संभाल नहीं करता है। तो, जेएसपी सुलभ नहीं है।

0

मैं अपनी वेब परियोजना में एक निर्भरता जेएआर प्रोजेक्ट से कुछ फाइल चाहता था।

मैंने इस तरह से किया है इसलिए मैं केवल WAR को पैकेज करते समय फ़ाइलों को ही नहीं रख सकता था, लेकिन जब मैवेन सर्वलेट कंटेनर प्लगइन चला रहा था (यानी जेटी: रन या टॉमकैट: रन)।

तो यहाँ क्या मेरे लिए काम किया है:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.1</version> 
    <executions> 
     <execution> 
      <id>copy-files-to-webapp-directory</id> 
      <phase>compile</phase> 
      <goals> 
       <goal>unpack</goal> 
      </goals> 
      <configuration> 
       <artifactItems> 
        <artifactItem> 
         <groupId>com.my.project</groupId> 
         <artifactId>my-amazing-project</artifactId> 
         <type>jar</type> 
         <overWrite>true</overWrite> 
         <outputDirectory>src/main/webapp</outputDirectory> 
         <includes>**/*.jsp, **/*.css, **/*.png</includes> 
        </artifactItem> 
       </artifactItems> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

आशा है कि किसी को एक समान समाधान

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