मेरे पास कई फ़ाइल/निष्पादन योग्य स्थान हैं जो कि कंप्यूटर पर चल रहे कंप्यूटर के आधार पर भिन्न होने की संभावना है, और मैं इन्हें किसी भी तरह से चींटी गुणों के माध्यम से सार करना चाहता हूं। ऐसा करने का सबसे अच्छा तरीका क्या है? क्या एक सिस्टम-व्यापी चींटी सेटअप स्क्रिप्ट है जिसे बुलाया जाता है? या क्या मैं ऐसी स्क्रिप्ट कर सकता हूं?चींटी: प्रणाली-निर्भर गुणों को स्थापित करने का सबसे अच्छा तरीका?
उत्तर
Properties.xml नामक एक चींटी बिल्ड फ़ाइल सेट अप करें, जिसमें आपको उन गुणों को परिभाषित करना चाहिए जिन्हें आप कस्टमाइज़ करना चाहते हैं।
यहाँ properties.xml बॉयलरप्लेट मैं अपनी परियोजनाओं के लिए उपयोग कर रहा हूँ है (मैं इसे चींटी पर पुस्तकों में से एक से अनुकूलित किया है):
<?xml version="1.0" encoding="UTF-8"?>
<project
name="workspace-properties"
>
<dirname
property="workspace-properties.basedir"
file="${ant.file.workspace-properties}"
/>
<!--
==========================================================
Load Environment Variables
==========================================================
-->
<!-- #Load environment variables -->
<property environment="env" />
<!-- this is here to deal with the fact that an IntelliJ IDEA build
has no ant home
-->
<property
name="ant.home"
value="${env.ANT_HOME}"
/>
<!-- get Unix hostname, and set to Windows comparable name -->
<!-- #Trick to get host name x-platform -->
<property
name="env.COMPUTERNAME"
value="${env.HOSTNAME}"
/>
<!--
==========================================================
Load property files
Note: the ordering is VERY important.
==========================================================
-->
<!-- #Allow even users property file to relocate -->
<property
name="user.properties.file"
location="${user.home}/.build.properties"
/>
<!-- Load the application specific settings -->
<!-- #Project specific props -->
<property file="build.properties" />
<!--
==========================================================
Define your custom properties here.
You can overwrite them through build.properties and
${user.home}/.build.properties
==========================================================
-->
<property name="myexec1" location="/usr/bin/myexec1"/>
<property name="myexec2" location="/usr/bin/myexec2"/>
</project>
महत्वपूर्ण यहाँ बात के रूप में कई उपयोगी डिफ़ॉल्ट साथ आने के लिए है संपत्ति मूल्य जितना संभव हो, तो आप कस्टम build.properties
फ़ाइलों के साथ कभी भी नहीं आ सकते हैं।
फिर आप अपनी परियोजना के build.xml में यह फ़ाइल <import>
फ़ाइल करते हैं।
<project
name="my-project"
>
<!-- this is done, so you may import my-project somewhere else -->
<dirname
property="my-project.basedir"
file="${ant.file.my-project}"
/>
<import file="${my-project.basedir}/relative/path/to/properties.xml"/>
<target name="using.myexec1">
<echo message="myexec1=${myexec1}"/>
</target>
</project>
आप my-project
में myexec1 के लिए एक कस्टम मूल्य चाहते हैं, सिर्फ एक ही निर्देशिका है जहाँ build.xml स्थित है में एक कस्टम फ्लैट build.properties फ़ाइल ड्रॉप।
build.properties फ़ाइल इस तरह दिखना हो सकता है:
myexec1=c:/custom/path/to/myexec1.exe
मैं और अधिक या कम मानक build.properties
और build-local.properties
फ़ाइलों का उपयोग करें।
पहले में सभी मानकों के लिए सामान्य डिफ़ॉल्ट मान होते हैं, दूसरा केवल अपवाद। पहला व्यक्ति उपversण में चेक किया गया है जबकि दूसरा नहीं है।
संपादित: प्रतिलिपि करने/चिपकाने AKR उत्तम विचार
इसके अलावा आप एक डिफ़ॉल्ट गुण हो सकता है ओएस या अन्य में से प्रत्येक के लिए फ़ाइल आप पर अपने निर्माण प्रणाली की तैनाती हो सकती है। इन फ़ाइलों को आपके संस्करण नियंत्रण प्रणाली में भी चेक किया जा सकता है।
चींटी स्क्रिप्ट तो सभी फ़ाइलों को शामिल किया जाएगा इस प्रकार (याद रखें: चींटी में पहली परिभाषा जीतता):
<property file="build-local.properties"/>
<property file="build.properties"/>
<property file="build-${os.name}.properties">
तो क्यों निर्माण-स्थानीय पर काम करेंगे प्रथम? –
@ कालपेशसोनी क्योंकि इसके साथ आप स्थानीय फाइलों में सभी गुणों को ओवरराइड कर सकते हैं (क्योंकि यह लोड किया गया पहला है)। जो मुझे लगता है वह गलत है ओएस निर्भर फ़ाइल है, क्योंकि इसे डिफ़ॉल्ट फ़ाइल को ओवरराइड करना होगा, इसलिए इसे दूसरा दिखाई देना चाहिए। – PhoneixS
व्लादिमीर समाधान के अलावा आप एक डिफ़ॉल्ट गुण हो सकता है ओएस में से प्रत्येक के लिए फ़ाइल या अन्य आप अपने निर्माण प्रणाली को तैनात कर सकते हैं। पथ स्थापित करने के लिए $ {os.name} (और अन्य जावा सिस्टम गुण) का उपयोग करें। उदाहरण के लिए
<property file="build-${os.name}.properties">
इन फ़ाइलों को आपके संस्करण नियंत्रण प्रणाली में भी बनाए रखा जा सकता है और चेक किया जा सकता है।
+1 अच्छा विचार। मुझे विभिन्न फाइलों पर 'फ़ाइल: ///' और 'फ़ाइल: //' के साथ कुछ परेशानी हुई है और आपका प्रस्ताव इस मामले को अच्छी तरह से संभालेगा। – Vladimir
- 1. emacs ऑटो-पूर्ण मोड स्थापित करने का सबसे अच्छा तरीका
- 2. फ़ाइल गुणों के बारे में जाने का सबसे अच्छा तरीका
- 3. क्यूटी में एचटीएमएल का विश्लेषण करने का सबसे अच्छा तरीका?
- 4. स्ट्रिंगस्ट्रीम खाली करने का सबसे अच्छा तरीका?
- 5. चींटी के साथ गिट को एकीकृत करने का सबसे अच्छा तरीका?
- 6. PHP हुक करने का सबसे अच्छा तरीका
- 7. डाउनलोड शुरू करने का सबसे अच्छा तरीका?
- 8. स्प्री को अनुकूलित करने का सबसे अच्छा तरीका?
- 9. एक बीन शुरू करने का सबसे अच्छा तरीका क्या है?
- 10. फ्लोट पार्स करने का सबसे अच्छा तरीका?
- 11. डेटा कैश करने का सबसे अच्छा तरीका
- 12. बैज को अपडेट करने का सबसे अच्छा तरीका UIView
- 13. सी # में चयनित गुणों को परिभाषित और एक्सेस करने का सबसे अच्छा तरीका क्या है?
- 14. उपयोगकर्ता अनुमतियों को स्टोर करने का सबसे अच्छा तरीका?
- 15. सबसे अच्छा तरीका है
- 16. एमएस वर्ड स्थापित किए बिना वर्ड को एचटीएमएल निर्यात करने का सबसे अच्छा तरीका?
- 17. d3.js में डेटा को पुन: स्थापित करने का सबसे अच्छा तरीका
- 18. "टाइमर" को लागू करने का सबसे अच्छा तरीका क्या है?
- 19. एक jQuery प्लगइन को विस्तारित करने का सबसे अच्छा तरीका
- 20. जावास्क्रिप्ट फ़ाइलों को व्यवस्थित करने का सबसे अच्छा तरीका
- 21. पुश अधिसूचना सिस्टम को लागू करने का सबसे अच्छा तरीका
- 22. उपलब्धियों को कोड करने का सबसे अच्छा तरीका
- 23. ज़ेंड वेब एप्लिकेशन को तैनात करने का सबसे अच्छा तरीका
- 24. टेक्स्ट दस्तावेज़ को पार्स करने का सबसे अच्छा तरीका
- 25. रिपोजिटरी पैटर्न को लागू करने का सबसे अच्छा तरीका?
- 26. Drupal 6: jQuery को अपग्रेड करने का सबसे अच्छा तरीका?
- 27. तारों को पार्स करने का सबसे अच्छा तरीका क्या है?
- 28. बैज मानदंडों को स्टोर करने का सबसे अच्छा तरीका?
- 29. दूरी की समस्या को हल करने का सबसे अच्छा तरीका
- 30. निर्भर परियोजनाओं को व्यवस्थित करने का सबसे अच्छा तरीका?
यहाँ अपने 'होस्ट नाम एक्स मंच समस्या के लिए एक काम समाधान है, बस का उपयोग करें: <कार्यकारी निष्पादन = "होस्ट नाम" outputproperty = "computer.hostname" /> लिनक्स और विंडोज – Rebse