में परिभाषित मेवेन गुणों का उपयोग करें, मैं सामान्य मेवेन प्रोजेक्ट में और मेवेन प्लगइन प्रोजेक्ट में पोम में परिभाषित मेवेन गुणों का उपयोग कैसे करूं?पोम
पोम
उत्तर
आप जेएमओएम (http://www.jdom.org/) के साथ पोम फ़ाइल को पार्स कर सकते हैं।
Maven पहले से ही तुम क्या चाहते करने के लिए एक समाधान है:
Get MavenProject from just the POM.xml - pom parser?
Btw: पहले गूगल खोज पर मारा;)
Model model = null;
FileReader reader = null;
MavenXpp3Reader mavenreader = new MavenXpp3Reader();
try {
reader = new FileReader(pomfile); // <-- pomfile is your pom.xml
model = mavenreader.read(reader);
model.setPomFile(pomfile);
}catch(Exception ex){
// do something better here
ex.printStackTrace()
}
MavenProject project = new MavenProject(model);
project.getProperties() // <-- thats what you need
सिंगल-लिंक उत्तर यहां निराश होते हैं (अधिकांशतः क्योंकि जब जुड़े हुए संसाधन दूर हो जाते हैं तो वे बेकार हो सकते हैं)। आपको कम से कम यहां से पोस्ट की गई जानकारी से जानकारी सारांशित करनी चाहिए। –
मैंने गलती से गलत लिंक पोस्ट किया है, यह एक स्टैक ओवरफ्लो पोस्ट है, जो दूर नहीं जाना चाहिए;) – SWoeste
लेकिन मैं आपको श्वेत मानता हूं, सिर्फ एक लिंक थोड़ा अप्रिय है। तो लिंक से स्रोत के आधार पर मैंने कुछ टिप्पणियां और विधि कॉल जो आप खोज रहे हैं (अंतिम पंक्ति)। – SWoeste
इस संयोजन में मानक जावा गुणों के साथ किया जा सकता है गुणों पर सक्षम फ़िल्टरिंग के साथ maven0-resource-plugin के साथ। अधिक जानकारी के लिए देख
http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
प्लगइन के लिए के रूप में परियोजनाओं
एक System variable from Maven और जावा उपयोग में following call
System.getProperty("Key");
टूटी हुई लिंक, क्या आप इसे ठीक कर सकते हैं? –
टूटी हुई लिंक फिक्स्ड। – Santosh
यह केवल तभी काम करेगा यदि आप मेवेन से परिणामस्वरूप निर्माण चला रहे हैं, शायद मैवेन-एक्जिक-प्लगइन का उपयोग कर रहे हैं। यदि आप कोड को संकलित करने के लिए केवल मेवेन का उपयोग कर रहे हैं, तो यह काम नहीं करेगा। –
उपयोग properties-maven-plugin सेट अप को लिखने के लिए यह मानक Maven परियोजना के लिए काम करेंगे संकलन समय पर एक फ़ाइल में विशिष्ट पोम properties
, और उसके बाद उस फ़ाइल को रन टाइम पर पढ़ें।
अपने pom.xml में:
<properties>
<name>${project.name></name>
<version>${project.version}</version>
<foo>bar</foo>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>write-project-properties</goal>
</goals>
<configuration>
<outputFile>${project.build.outputDirectory}/my.properties</outputFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
और फिर जावा में:
java.io.InputStream is = this.getClass().getResourceAsStream("my.properties");
java.util.Properties p = new Properties();
p.load(is);
String name = p.getProperty("name");
String version = p.getProperty("version");
String foo = p.getProperty("foo");
यह काम करता है, लेकिन ग्रहण ** अनंत निर्माण/तैनाती-टू-टॉमकैट लूप ** में बनता है (बिल्ड -> my.properties जेनरेट करें -> संसाधन बदल गया -> बिल्ड), इसलिए मुझे चरण को 'संकलन' में बदलना पड़ा। सुनिश्चित नहीं है कि यह उचित समाधान है या नहीं। –
@atoregozh ने गुण फ़ाइल लोड करने के बजाय गुवा संसाधन का उपयोग करने का सुझाव दिया। ठीक। लेकिन इस उदाहरण को मानक API के साथ न्यूनतम रखने के लिए परिवर्तन को वापस कर दिया। –
- 1. पोम
- 2. पोम
- 3. अभिभावक पोम
- 4. पेरेंट पोम
- 5. मैवेन पोम
- 6. पोम संपादक
- 7. मैवेन पैकेजिंग प्रकार "पोम"
- 8. maven पैरेंट पोम
- 9. फ्लेक्स 4.6 पोम फ़ाइल depency
- 10. एक बच्चे मॉड्यूल पोम में सुपर पोम आधारित कैसे प्राप्त करें?
- 11. मल्टी मॉड्यूल पोम विभिन्न लॉगबैक.एक्सएमएल प्रति मॉड्यूल
- 12. मैवेन पोम फ़ाइल से परियोजना कैसे बनाएं
- 13. पढ़ना गुण Maven पोम से फ़ाइल
- 14. मेवेन - मेरे पोम में exec-maven-plugin
- 15. एमवीएन सहायता निष्पादित करते समय आउटपुट वैध एक्सएमएल: प्रभावी-पोम
- 16. मैवेन पोम से लिनक्स पर्यावरण चर का उपयोग कैसे करें?
- 17. मैवेन पोम संपत्ति मूल्यों में '&' से कैसे बचें
- 18. org.hibernate को खोजने में विफलता: हाइबरनेट-निर्भरता: पोम: 3.3.2.GA
- 19. मैवेन पोम फ़ाइल में सुनिश्चित करें प्लगइन लोकेल
- 20. एक पोम फ़ाइल में दो xmlbeans कैसे उत्पन्न करें
- 21. पोम प्लगइन में परिभाषित मेवेन प्लगइन कॉन्फ़िगरेशन ओवरराइड कमांड लाइन
- 22. आप मेवेन पोम फाइलों को कैसे संपादित करते हैं?
- 23. मेवेन रिलीज प्लगइन, गिट, और पोम शीर्ष पर नहीं है
- 24. मेवेन पोम में मूल टैग क्या दर्शाता है?
- 25. यदि मेरे माता-पिता पैरेंट पोम में कॉन्फ़िगरेशन कॉन्फ़िगर किए गए हैं तो मेरे पोम को मेरे माता-पिता को कैसे ढूंढें?
- 26. एसबीटी: स्कैला-पुस्तकालय को स्वचालित रूप से पोम में जोड़ने से कैसे रोकें?
- 27. पैरेंट पोम और एसवीएन लेआउट के साथ बहु मॉड्यूल मैवेन प्रोजेक्ट
- 28. स्कोप "आयात" और "पोम" प्रकार निर्भरता के बीच क्या अंतर है?
- 29. ग्रहण परियोजना के क्लासपाथ में पोम से निर्भरताओं को कैसे लोड करें?
- 30. फ्लैट संरचित बहु मॉड्यूल मेवेन में पेरेंट पोम नहीं ढूंढ रहा है
किस प्रकार की जानकारी आप में रुचि रखते हैं? यदि यह केवल संस्करण या समान चीजें हैं, तो शायद यह एक बेहतर विचार है [इसे प्रकट में रखें और इसे वहां से पढ़ें] (http://stackoverflow.com/questions/2712970/how-to-get-maven-artifact- संस्करण-एट-क्रम/2713013 # 2713013)। –
इस बारे में स्टैक ओवरफ़्लो में बहुत सी पोस्ट है: http://stackoverflow.com/search?q=read+pom+in+java, कम से कम, पोस्ट से पहले एक नज़र डालें। SO संपादित करें मददगार उन्हें दिखाना चाहिए। Google भी –
धन्यवाद दोस्तों। अब मुझे एहसास है कि यह वास्तव में बुरा अभ्यास है। अन्य दृष्टिकोण की कोशिश करेंगे। –