मूल पोस्ट:
मैं फिल्टर करने के लिए एक जावा 6 वेब अनुप्रयोग जो जेट्टी 8.1 सर्वलेट कंटेनर पर चल रहा है की web.xml
तैनाती वर्णनकर्ता चाहते हैं, लेकिन यह अब तक काम नहीं करता। मैं सक्रिय Maven प्रोफाइल के आधार पर एक अलग JSF परियोजना मंच तैयार करना चाहते हैं:jetty-maven-plugin का उपयोग करते समय web.xml फ़िल्टरिंग?
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>${jsfProjectStage}</param-value>
</context-param>
pom.xml
में प्रोफाइल अनुभाग है कि तरह लग रहा है:
<profiles>
<profile>
<id>development</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jsfProjectStage>Development</jsfProjectStage>
</properties>
</profile>
<profile>
<id>production</id>
<properties>
<jsfProjectStage>Production</jsfProjectStage>
</properties>
</profile>
</profiles>
इंटरनेट आप कई तरीके है कि पूरा करने के लिए लगता है पर उदाहरण के लिए वैकल्पिक web.xml फ़ाइलों का उपयोग कर।
<build>
<finalName>...</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<webResources>
<webResource>
<directory>src/main/webapp/WEB-INF</directory>
<filtering>true</filtering>
<targetPath>WEB-INF</targetPath>
<includes>
<include>web.xml</include>
</includes>
</webResource>
</webResources>
</configuration>
</plugin>
...
</plugins>
</build>
आप कई जवाब या इस कोड स्निपेट, मुझे आश्चर्य है कि क्यों यह मेरे लिए काम नहीं कर रहा वाले लेखों को खोजने के बाद से: लेकिन मेरे लिए सबसे स्पष्ट तरीका Maven युद्ध प्लगइन का उपयोग करने लगता है। मैंने <webResource>
को <resource>
(अक्सर इसे इस तरह से पाया) के साथ बदलने की कोशिश की और मैंने <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
जोड़ने की कोशिश की लेकिन उस काम के कुछ भी नहीं।
क्या किसी के पास कोई विचार है, वेब.एक्सएमएल को सही ढंग से फ़िल्टर करने के लिए यहां क्या गुम है? या मुझे स्पष्ट रूप से <filters>
निर्दिष्ट करना है?
धन्यवाद
सेबस्टियन
अद्यतन:
धन्यवाद user944849 को मैं अब जानते हैं कि web.xml
मेरी फ़िल्टर नहीं करने के लिए कारण Maven युद्ध प्लगइन लेकिन घाट-Maven-प्लगइन नहीं है, चूंकि मैं mvn jetty:run
का उपयोग (असंबद्ध) वेबपैप चलाने के लिए करता हूं। क्या किसी को पता है कि कैसे unassembled वेबपैप चलाने से पहले web.xml
फ़िल्टर करने के लिए jetty-maven-plugin को लाने के लिए?
अपने Maven आदेश क्या है? विशेष रूप से, आप प्रोफ़ाइल को कैसे सक्रिय कर रहे हैं? ' 'का अर्थ है" केवल तभी सक्रिय जब कोई अन्य प्रोफ़ाइल सक्रिय न हो। " –
user944849
मैं ग्रहण के भीतर से मैवेन का उपयोग करता हूं और विकास निर्माण के लिए _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ उत्पादन निर्माण के लिए लक्ष्य _Profiles_ सेट 'उत्पादन' के साथ' क्लीन इंस्टॉल 'पर सेट है। –
क्या उत्पादन एक वेब.एक्सएमएल फ़िल्टर करता है जैसा आप उम्मीद करेंगे? यह मुझे आश्चर्य नहीं करता कि 'जेटी: रन' काम नहीं करता है, क्योंकि 'जेटी: रन' एक _unassembled_ webapp निष्पादित करता है। फ़िल्टरिंग तब होती है जब युद्ध प्लगइन पैकेज चरण के हिस्से के रूप में चलाया जाता है, जो 'जेटी: रन' आईआईआरसी का उपयोग नहीं करता है। जेटी को फ़िल्टरिंग करने के तरीके को जानने के लिए आपको शायद थोड़ा सा शोध करने की आवश्यकता है। या, आपको पूरी तरह से इकट्ठे वेबपैप के खिलाफ जेटी का उपयोग करने की आवश्यकता हो सकती है। – user944849