जहां पूर्वनिर्धारित मावेन गुणों की सूची है


125

मुझे पता है कि सभी पूर्वनिर्धारित मावेन गुणों की एक सूची है (आप जैसे जानते हैं project.build.sourceEncoding, या project.build.sourceDirectory)। मैंने एक बार सूची देखी, लेकिन मैं इसे फिर से नहीं ढूँढ सकता।

जवाबों:


132

क्या आप इस बार सच कह रहे हैं?

https://web.archive.org/web/20150520200505/https://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide

मैंने इसकी सामग्री को GitHub repo में स्थानांतरित कर दिया है:

https://github.com/cko/predefined_maven_properties/blob/master/README.md


1
आमतौर पर, जब आप Intellij IDEA में pom.xml को संपादित करते हैं, तो यह मावेन प्रॉपर्टी की तरह दिखने वाली किसी भी चीज़ के लिए विकल्प प्रदान करके बहुत मदद करता है (उदाहरण के लिए ${...})
केदार म्हसवडे

mvan सहायता: प्रभावी-पोम उपलब्ध गुणों की खोज के लिए एक महान उपकरण के रूप में खड़ा है। maven.apache.org/plugins/maven-help-plugin/…
पीटर कहन

1
मावेन विकी में इस पृष्ठ की समीक्षा करें: cwiki.apache.org/confluence/display/MAVEN/…
Guss

"सब कुछ" की तरह शामिल नहीं है, [WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.लेकिन अधिकांश शामिल हैं;)
rogerdpack


26

"प्रभावी पीओएम" को देखकर शायद मदद भी मिलेगी। उदाहरण के लिए, यदि आप जानना चाहते हैं कि रास्ता क्या है${project.build.sourceDirectory}

आप संबंधित XML को प्रभावी POM में पाएंगे, जैसे: <project> <build> <sourceDirectory>/my/path</sourceDirectory>

इसके अलावा मददगार - आप mvn help:evaluatePOM के रूप में एक ही dir में कमांड लाइन के निष्पादन के माध्यम से गुणों का वास्तविक समय मूल्यांकन कर सकते हैं ।


कुछ XML पेड़ से
लगते

11

मुझे लगता है कि देखने के लिए सबसे अच्छी जगह सुपर पोम है

एक उदाहरण के रूप में, लेखन के समय, जुड़ा हुआ संदर्भ लाइनों 32 - 48 के बीच कुछ गुणों को दर्शाता है।

इसकी व्याख्या एक्सपीथ को एक .सीमांकित संपत्ति के रूप में पालन करना है।

इसलिए, उदाहरण के लिए:

${project.build.testOutputDirectory} == ${project.build.directory}/test-classes

तथा:

${project.build.directory} == ${project.basedir}/target

इस प्रकार उनका संयोजन, हम पाते हैं:

${project.build.testOutputDirectory} == ${project.basedir}/target/test-classes

(संसाधन निर्देशिका के संदर्भ में, इस स्टैकओवरफ़्लो प्रश्न को देखें )


<project>
    <modelVersion>4.0.0</modelVersion>
    .
    .
    .
    <build>
        <directory>${project.basedir}/target</directory>
        <outputDirectory>${project.build.directory}/classes</outputDirectory>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
        <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
        <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
        <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>${project.basedir}/src/test/resources</directory>
            </testResource>
        </testResources>
        .
        .
        .
    </build>
    .
    .
    .
</project>

6

मैं इस पृष्ठ को इसके अब-तब बासी संदर्भों के साथ देखने के लिए थक गया था कोडहॉज़ पृष्ठों को अशुद्ध करने के लिए इसलिए मैंने मावेन उपयोगकर्ताओं की मेलिंग सूची पर पूछा और कुछ और अप-टू-डेट उत्तर प्राप्त किए।

मैं कहूंगा कि ऊपर दिए गए मेरे लिंक में निहित सबसे अच्छा (और सबसे आधिकारिक) जवाब है, जो कि हर्वे BOUTEMY द्वारा योगदान दिया गया है:

यहाँ मुख्य संदर्भ है: http://maven.apache.org/ref/3-LATEST/maven-model-builder/

यह पीएमओ या सेटिंग्स में पाए जाने वाले प्रत्येक विवरण की व्याख्या नहीं करता है, क्योंकि बहुत अधिक जानकारी उपलब्ध है, लेकिन यह पीओएम और सेटिंग्स डिस्क्रिप्टर को इंगित करता है और वह सब कुछ समझाता है जो पीओएम या सेटिंग्स नहीं है।


3
बहुत सवाल एक लिंक के लिए पूछता है, इसलिए मुझे लगता है कि आपकी चिंता गलत है। यह सवाल "मैं एक्स कैसे करते हैं" नहीं पूछता, लेकिन "मैं एक्स कहां पा सकता हूं"।
स्टीव कोहेन

2
उफ़, तुम ठीक कह रहे हैं - यह सवाल है कि इस साइट में फ़िट नहीं होता है :-) धन्यवाद हेड्स अप - बंद करने के लिए मतदान किया
Kleopatra

1
और फिर भी, यह एक ऐसा सवाल है जो बार-बार सामने आता है क्योंकि मेरी मेलिंग सूची पोस्ट को प्राप्त कई उत्तरों में आसानी से स्वीकार कर लिया गया था .. मुद्दा यह है कि मावेन इस क्षेत्र को अच्छी तरह से या संक्षिप्त रूप से दस्तावेज नहीं करता है। इस तरह की जानकारी के लिए उनकी वेबसाइट पर एक पृष्ठ प्रमुखता से प्रदर्शित होना चाहिए और ऐसा नहीं है। इन लिंक्स से भी यह तुरंत स्पष्ट नहीं है, कि POM संदर्भ या वर्णित अन्य स्थानों के किसी भी तत्व को $ {dotted.notation} एक्सप्रेशन में परिवर्तित किया जा सकता है और POM फ़ाइल में उपयोग किया जा सकता है। यह प्रश्न इस प्रकार एक उपयोगी उद्देश्य प्रदान करता है और इसे फिर से स्थानांतरित करने पर अद्यतन करने की आवश्यकता होगी।
स्टीव कोहेन

1
बाहरी संसाधनों के लिए पूछना इस साइट के दायरे से बाहर है, अगर सभी नियमों से खेलेंगे तो कोई भी ऐसा नहीं होगा जहां एक्स सवाल ;-)
kleopatra

3
मुझे कभी-कभी नियम समझ नहीं आते। यह पूरी तरह से वैध सवाल है, और लोग अतीत में इसका जवाब देने के लिए तैयार हैं। इस तरह के नियमों के लिए इस तरह के स्टिकर होने से स्टैक ओवरफ्लो अपने चेहरे को काटने के लिए अपनी नाक काट देता है।
स्टीव कोहेन

3

यह लिंक दिखाता है कि सभी सक्रिय गुणों को कैसे सूचीबद्ध किया जाए: http://skillsared.blogspot.co.uk/2012/11/how-to-list-down-all-maven-available.html

सारांश में, अपने POM में निम्न प्लगइन परिभाषा जोड़ें, फिर चलाएँ mvn install:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <phase>install</phase>
            <configuration>
                <target>
                    <echoproperties />
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.