मैं कई जेएआर फाइलों को उतारना चाहता हूं और फिर चींटी निर्माण स्क्रिप्ट का उपयोग करके एक जार में पुनर्निर्माण करना चाहता हूं। क्या यह संभव है?आप कई जेएआर फ़ाइलों को अनजाने के लिए चींटी का उपयोग कैसे करते हैं और उन्हें एक जेएआर फ़ाइल में पुनर्निर्माण करते हैं?
उत्तर
हां, यह चींटी के साथ संभव है। एक जार फ़ाइल मूल रूप से एक विशेष मैनिफेस्ट फ़ाइल के साथ एक ज़िप है। तो उज्ज्वल करने के लिए, हमें जार को अनजिप करने की आवश्यकता है। चींटी में unzip कार्य शामिल है।
अनज़िप करने के लिए अपनी परियोजना में/unjar सभी जार फ़ाइलें:
<target name="unjar_dependencies" depends="clean">
<unzip dest="${build.dir}">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</unzip>
</target>
जाहिर है आप पहली बार $ {build.dir} और $ {lib.dir} घोषित करने के लिए की जरूरत है। लाइन <include name="**/*.jar" />
चींटी को जार एक्सटेंशन के साथ समाप्त होने वाली सभी फ़ाइलों को शामिल करने के लिए कहती है, आप अपनी आवश्यकताओं के अनुसार इसमें शामिल हो सकते हैं।
एक जार में सब कुछ पैक करने के लिए आपको jar कार्य का उपयोग करें:
<target name="make_jar" depends="compile, unjar_dependencies">
<jar basedir="${build.dir}"
destfile="${dist.dir}/${project_name}.jar">
<manifest>
<attribute name="Main-Class" value="${mainclass}" />
</manifest>
<fileset dir="${build.dir}">
<include name="**/*.class" />
</fileset>
<fileset dir="${src.dir}">
<include name="applicationContext.xml" />
<include name="log4j.properties" />
</fileset>
</jar>
</target>
इस उदाहरण में, हम अलग अलग फ़ाइलसेट शामिल हैं। एक फाइलसेट में हम सभी संकलित कक्षाएं शामिल हैं। एक और फाइलसेट में हम दो कॉन्फ़िगरेशन फाइलें शामिल करते हैं जो इस विशेष परियोजना पर निर्भर करती हैं।
हां यह है!
- एस्पेन जवाब:
एक संभव समाधान है कि एक दिया निर्देशिका में सभी जार फ़ाइलों से एक जार फ़ाइल बनाता है:
आप दो संभावनाएं है
<target name="dependencies.jar">
<jar destfile="WebContent/dependencies.jar">
<zipgroupfileset dir="lib/default/" includes="*.jar"
excludes="*.properties" />
</jar>
</target>
यह उपयोगी है अगर आपको कुछ जार में मौजूद सामग्री को बाहर करने की आवश्यकता नहीं है (उदाहरण के लिए कुछ गुण कॉन्फ़िगरेशन फ़ाइल जो आपके ओवरराइड हो सकती हैं आदि)। यहां गुणों को छोड़कर डीआईआर संपत्ति से फ़ाइलों को फ़िल्टर कर रहा है।
- उपयोग zipfileset
अन्य समाधान zipfileset टैग जहां शामिल नहीं संपत्ति इस समय जार से सामग्री को फ़िल्टर होगा मर्ज करने का प्रयोग है।
<jar destfile="your_final_jar.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="main.class"/>
<attribute name="Class-Path" value="."/>
</manifest>
<zipfileset
excludes="META-INF/*.SF"
src="/path/to/first/jar/to/include.jar"/>
</jar>
- बेशक आप दोनों में से सबसे अच्छा पाने के लिए एक ही जार टैग के अंदर दो टैग (zipfileset और zipgroupfileset) जोड़ सकते हैं।
हां, यह संभव है।
एक संभव समाधान है कि किसी भी निर्देशिका में सभी जार फ़ाइलों से एक जार फ़ाइल बनाता है:
<target name="dependencies.jar">
<jar destfile="WebContent/dependencies.jar">
<zipgroupfileset dir="lib/default/" includes="*.jar"
excludes="*.properties" />
</jar>
</target>
वहाँ भी जार JarJar बुलाया repackage के लिए समर्पित एक परियोजना है। आप इसे एकाधिक जार को एक में पुन: स्थापित करने के लिए उपयोग कर सकते हैं। आपकी आवश्यकताओं के आधार पर, आप संस्करण विवादों को रोकने के लिए कक्षाओं का नाम भी बदल सकते हैं।
सेउनके getting started page:
इस उदाहरण हम jaxen.jar से कक्षाओं में शामिल हैं और एक नियम के किसी भी वर्ग का नाम बदल कर कि "org.jaxen 'के साथ शुरू के साथ" org.example.jaxen "के बजाय शुरू करने के लिए जोड़ने में (हमारी काल्पनिक दुनिया में हम example.org डोमेन को नियंत्रित करते हैं):
<target name="jar" depends="compile">
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
classpath="lib/jarjar.jar"/>
<jarjar jarfile="dist/example.jar">
<fileset dir="build/main"/>
<zipfileset src="lib/jaxen.jar"/>
<rule pattern="org.jaxen.**" result="[email protected]"/>
</jarjar>
</target>
- 1. जेएआर फाइलें, क्या वे सिर्फ ब्लॉउट नहीं करते हैं और जावा को धीमा करते हैं?
- 2. जेएआर फ़ाइल
- 3. आप कई मान कैसे वापस करते हैं और उन्हें परिवर्तनीय चर के लिए असाइन करते हैं?
- 4. जावैक जेएआर फाइल कैसे ढूंढें? (ग्रहण उन्हें देख सकते हैं)
- 5. एक जेएआर फ़ाइल
- 6. वर्तमान जेएआर फ़ाइल
- 7. साफ करते हैं और चींटी
- 8. आप ant build.xml फ़ाइलों को "रिफैक्टर" कैसे करते हैं?
- 9. जटिल निर्माण प्रक्रिया के लिए आप क्या उपयोग करते हैं?
- 10. जेएआर फ़ाइल में जावा एप्लेट
- 11. आप स्क्वाक का उपयोग कैसे करते हैं?
- 12. बैच फ़ाइल में आप SETLOCAL का उपयोग कैसे करते हैं?
- 13. आप PowerShell का उपयोग कैसे करते हैं?
- 14. एम्बेडेड जेएआर फ़ाइल
- 15. जब आप अनुवादित पाठ में लिंक करते हैं तो आप गेटटेक्स्ट का उपयोग कैसे करते हैं?
- 16. कैसे स्रोत फ़ाइलों पैदा करते हैं और उन्हें Gradle
- 17. आप .NET एप्लिकेशन में RequJS का उपयोग कैसे करते हैं?
- 18. आप सी में संसाधन फ़ाइलों को कैसे एम्बेड करते हैं?
- 19. आप आईएमई का उपयोग कैसे करते हैं?
- 20. आप CTEST_CUSTOM_PRE_TEST का उपयोग कैसे करते हैं?
- 21. एक जेएआर फ़ाइल बनाना जिसमें अन्य लाइब्रेरी फाइलें हैं
- 22. क्या आप फ़िंग का उपयोग करते हैं?
- 23. जेएआर फ़ाइल में संसाधनों का उपयोग कैसे करें?
- 24. आप अपने कोड और फ़ाइलों को मशीनों के उपयोग के लिए कैसे स्टोर करते हैं
- 25. आईफोन एसडीके: आप दस्तावेज़ निर्देशिका में वीडियो फ़ाइलों को कैसे डाउनलोड करते हैं और फिर उन्हें खेलते हैं?
- 26. आप जेएसटीएल का उपयोग कैसे करते हैं?
- 27. , आप आइटम को कैसे क्रमबद्ध करते हैं?
- 28. आप गिट में एकाधिक फ़ाइलों को कैसे स्थानांतरित करते हैं?
- 29. एसएसएच पर फ़ाइलों को आप कैसे संपादित करते हैं?
- 30. क्या आप क्यूटी का उपयोग करते हैं और आप इसका उपयोग क्यों करते हैं?