मेरे पास एक जावास्क्रिप्ट फ़ाइल है जिसका उपयोग Google Analytics का उपयोग करके ईवेंट ट्रैक करने के लिए किया जाता है। मैंने स्टेजिंग और उत्पादन पर्यावरण के लिए अलग-अलग खाते बनाए हैं। जीए कोड का आह्वान करने के लिए स्क्रिप्ट में मेरे खाता आईडी के लिए एक प्लेसहोल्डर है। खाता आईडी को फ़िल्टर फ़ाइलों में निर्दिष्ट किया गया है। मेवेन-युद्ध प्लगइन में वेब स्रोत स्रोत का उपयोग करके, हम अंतिम WAR फ़ाइल में संपत्ति को सफलतापूर्वक प्रतिस्थापित करने में सक्षम हैं।मैवेन का उपयोग करके फ़िल्टर की गई जावास्क्रिप्ट फ़ाइल को कैसे छोटा करें?
अब, हम अपने सभी जावास्क्रिप्ट फ़ाइलों को कम करने और एकत्रित करने के लिए मेवेन-युइकोम्प्रेसर प्लगइन का भी उपयोग कर रहे हैं। समस्या यह है कि यदि मैं संकुल चरण में न्यूनतम लक्ष्य के निष्पादन को संलग्न करता हूं, तो जावास्क्रिप्ट को कम करने से पहले WAR बनाया गया है। यदि मैं पहले कुछ भी न्यूनतम लक्ष्य को संलग्न करता हूं, तो फ़िल्टर को अमान्य फ़ाइल बनाने के खनन के समय तक लागू नहीं किया गया है।
तो, मैं फ़िल्टर किए गए जेएस फ़ाइलों की प्रतिलिपि बनाने और WAR फ़ाइल बनाने के लिए WAR प्लगइन के बीच न्यूनतम लक्ष्य चलाने के लिए एक तरीका ढूंढ रहा हूं।
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<webResources>
<resource>
<directory>src/main/webapp/js</directory>
<targetPath>js</targetPath>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<linebreakpos>-1</linebreakpos>
<nosuffix>true</nosuffix>
<force>true</force>
<aggregations>
<aggregation>
<output>${project.build.directory}/${project.build.finalName}/js/mysite-min.js</output>
<inputDir>${project.build.directory}/${project.build.finalName}/js</inputDir>
<includes>
<include>jquery-1.4.2.js</include>
<include>jquery-ui.min.js</include>
<include>ga-invoker.js</include>
</includes>
</aggregation>
</aggregations>
</configuration>
</plugin>
इसे 'तैयार-पैकेज' से बांध सकते हैं? –
जैसा कि मैंने पहले उल्लेख किया था, पैकेज चरण से पहले कुछ भी जोड़ना काम नहीं कर रहा है क्योंकि तब तक फ़िल्टर लागू नहीं किया गया है। युद्ध प्लगइन वेब संसाधनों की प्रतिलिपि बनाता है और पैकेज चरण के हिस्से के रूप में फ़िल्टर को लागू करता है। – Chandranshu