mvan archetype: जेनरेट बहुत सारे विकल्प प्रदान करता है और मैं जूनिट टेस्ट मामलों के साथ एक साधारण जावा उपयोगिता बनाना चाहता हूं। मैं यह जानना चाहूंगा कि मैं यहां कौन-सा शिलालेख इस्तेमाल कर रहा हूं?
mvan archetype: जेनरेट बहुत सारे विकल्प प्रदान करता है और मैं जूनिट टेस्ट मामलों के साथ एक साधारण जावा उपयोगिता बनाना चाहता हूं। मैं यह जानना चाहूंगा कि मैं यहां कौन-सा शिलालेख इस्तेमाल कर रहा हूं?
जवाबों:
जब आप एक करते हैं mvn archetype:generate
, तो एक डिफ़ॉल्ट चयन घुंघराले कोष्ठक को घेरने में प्रकट होता है ()
, उदाहरण के लिए (1274)
, यदि आप यह देखने के लिए स्क्रॉल करते हैं कि # 1274 क्या है, तो साधारण जावा प्रोजेक्ट्स करते समय, सामान्य रूप से प्रयास करने या शुरू करने के लिए यह डिफ़ॉल्ट रूप से जावा स्क्रिप्ट है। चयन करने के लिए सुरक्षित है।
380: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
org.apache.maven.archetypes:maven-archetype-quickstart:1.1
मैं दो आर्कटिक का उपयोग करता हूं। यह इस बात पर निर्भर करता है कि आप किस तरह का एप्लिकेशन बनाएंगे।
यदि आप एक वेब अनुप्रयोग चाहते हैं, तो maven-archetype-webapp का उपयोग करें , या यदि आप एक सरल अनुप्रयोग का उपयोग करना चाहते हैं maven-archetype-quickstart । वे उपयोगी हैं क्योंकि आप बिना किसी समस्या के उनका विस्तार कर पाएंगे।
मैं नीचे की तरह कमांड का उपयोग कर रहा हूं:
mvn archetype:generate -Dfilter=org.apache.maven.archetypes:
मुझे ग्रुपआईडी से केवल एक्टेट की एक छोटी सूचीorg.apache.maven.archetypes
मिलेगी। शुरू करने के लिए अच्छा है maven-archetype-quickstart
और maven-archetype-webapp
मेरे पूर्ववर्तियों ने कहा।
mvn archetype:generate -DgroupId=com.example -DartifactId=foobar -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
मुझे लगता है कि आपको उपयोग करना चाहिए maven-archetype-simple
संपादित करें
मावेन प्रलेखन के अनुसार :
maven-archetype-quickstart
एक चापलूसी जिसमें एक नमूना मावेन परियोजना शामिल है।maven-archetype-simple
एक चापलूसी जिसमें एक सरल मावेन परियोजना शामिल है।maven-archetype-simple
अपने ग्रहण चयन में नहीं दिखता , लेकिन मैं देखता हूं maven-archetype-quickstart
। क्या यह वही है?
pom.xml
रूप से मैन्युअल रूप से संपादित करना और कमांड प्रॉम्प्ट से कमांड लाइन चलाना पसंद करता हूं ।
मैं एक बहुत ही सरल pom.xml फ़ाइल के साथ शुरू करूँगा जिसमें केवल वही है जो आपको चाहिए। कुछ इस तरह
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-module</artifactId>
<version>1</version>
</project>
से http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
आप प्रैक्टिकल डेवलपर से किसी भी मूल का उपयोग कर सकते हैं:
mvn archetype:generate -DgroupId=[your-project-groupId] -DartifactId=[your-project-name] -DarchetypeGroupId=com.thepracticaldeveloper -DarchetypeArtifactId=archetype-java-basic-tpd -DarchetypeVersion=1.0.0
mvn archetype:generate -DgroupId=[your-project-groupId] -DartifactId=[your-project-name] -DarchetypeGroupId=com.thepracticaldeveloper -DarchetypeArtifactId=archetype-java-basic-tpd -DarchetypeVersion=1.0.0 -Djava-version=9
इनमें JUnit 4, Mockito और AssertJ शामिल हैं, और यदि आप अपनी जार फ़ाइल को निष्पादन योग्य बनाना चाहते हैं, तो एक डिफ़ॉल्ट प्रकट फ़ाइल। अधिक जानकारी: https://thepracticaldeveloper.com/archetypes/
डिस्क्लेमर: मैं उस ब्लॉग का लेखक हूं।
groupId
, लेकिन इसके archetypeGroupId
लिए क्या है?
archetypeArtifactId
।
maven-archetype-quickstart एक चापलूसी जिसमें एक नमूना मावेन परियोजना शामिल है। maven-archetype-simple एक आर्कफ़ाइट जिसमें एक सरल Maven प्रोजेक्ट होता है।
यदि त्रुटियों को ठीक किया जाता है तो इसे ग्रहण करने के लिए maven archetype कैटलॉग को जोड़कर। चरण नीचे दिए गए हैं:
खुली खिड़की> वरीयताएँ> मावेन> आर्केचेप्स
क्लिक करें
Add Remote Catalog
और निम्नलिखित जोड़ें:सूची फ़ाइल: http://repo1.maven.org/maven2/archetype-catalog.xml
विवरण: मावेन सूची
नोट: इंटरनेट कनेक्शन आपके पहले MAVEN परियोजना के निर्माण की आवश्यकता है।
डिफ़ॉल्ट आर्किटाइप संख्या अब 1092 1092 है: दूरस्थ -> org.apache.maven.archetypes: maven-archetype-quickstart (एक आर्कएप्टाइप जिसमें एक नमूना मैवेन प्रोजेक्ट है।)
आप Java आर्केथाइप पर विचार करना चाह सकते हैं : इसमें JUnit परीक्षणों सहित सर्वोत्तम प्रथाओं का पालन करते हुए जल्दी से एक जावा परियोजना शुरू करने के लिए उचित चूक हैं। मैंने इसे एक आधुनिक उत्तराधिकारी के रूप में देखा maven-archetype-quickstart
।
उदाहरण: mvn archetype:generate -DarchetypeGroupId=io.github.oliviercailloux -DarchetypeArtifactId=java-archetype -DgroupId=mygroupid -DartifactId=myartifactid -DinteractiveMode=false
।
डिस्क्लेमर: मैं लेखक हूं।
विकल्पों के बारे में अधिक जानकारी के लिए, यहां उस प्रोजेक्ट की README का एक हिस्सा है (यह यहां कॉपी की गई तुलना में अधिक लिंक प्रदान करता है)।
आधिकारिक क्विकस्टार्ट आर्कटाइप
सरल जावा प्रोजेक्ट्स के लिए आधिकारिक आर्कएप्टाइप (अपाचे मैवेन गेटिंग स्टार्ट गाइड और अपाचे मैवेन कुकबुक द्वारा उल्लेखित) मेंवेन-आर्कटाइप-क्विकस्टार्ट, या org.apache.maven.arthhetypes: maven-archetype-quickstart है।
यह, IMHO, को पदावनत माना जाना चाहिए, क्योंकि यह कई कमजोरियों से ग्रस्त है।
मेरा पुरालेख डिफ़ॉल्ट रूप से लॉगिंग भी प्रदान करता है, जो मुझे लगता है कि उपयोगी है, sysout की तुलना में बेहतर है और चोट नहीं करता है, और अमरूद, जो मुझे लगता है कि जावा को उपयोगी रूप से समृद्ध करता है।
मावेन सेंट्रल में अन्य क्विकस्टार्ट आर्कटाइप्स
यदि संभव हो तो प्रयासों में शामिल होने और व्यर्थ की नकल से बचने के लिए, मैंने सक्रिय रूप से अन्य आर्कटाइप्स की खोज की, जो मेरा एक ही उद्देश्य होगा: आसानी से एक आधुनिक जावा प्रोजेक्ट शुरू करने के लिए उचित चूक के साथ एक सरल अभिलेख प्रदान करें। (यह ज्यादातर जून 2020 के आसपास किया गया था।)
इंटरनेट पर एक सामान्य खोज ने मुझे प्रैक्टिकल डेवलपर तक पहुँचाया। जब उनसे संपर्क किया गया, तो उन्होंने मुझे (ई-मेल से) लिखा कि वह नियमित रूप से अपने कार्यक्षेत्र पर काम नहीं करते हैं और इसलिए इस तरह की परियोजना में सहयोग करना अस्वीकार करना पसंद करते हैं।
जैसा कि नेट पर खोजों ने अन्य उपयोगी परिणामों को प्रकट नहीं किया, और जैसा कि मुझे अपनी आवश्यकताओं के लिए कोई विशेष खोज उपकरण उपयुक्त नहीं मिला, मैंने एक साधारण आर्काइव टाइप ब्राउज़र को लागू किया। यह मावेन सेंट्रल में उपलब्ध सभी अभिलेखों को सूचीबद्ध करता है। मैन्युअल रूप से समीक्षा करने के लिए बहुत अधिक हैं, इस प्रकार, मैंने उन लोगों का चयन किया जिनके GroupId और विरूपण साक्ष्य का अस्तित्व कम से कम तीन वर्षों से है और पिछले वर्ष के दौरान अद्यतन किया गया है, लंबे समय तक बनाए रखने वाली परियोजनाओं की तलाश में, जो मुझे लगता है कि संकेत देता है अधिक शायद एक अच्छी गुणवत्ता परियोजना है। (निश्चित रूप से यह फ़िल्टर अच्छी गुणवत्ता वाले आर्किटाइप्स से चूक गया होगा जो कि निर्धारित लक्ष्य से पूरी तरह मेल खाते हैं; मेरे पास जानने का कोई तरीका नहीं है। बिंदु में एक मामले के रूप में, यह बहुत ही आर्कषक उस फ़िल्टर को पास नहीं करता है क्योंकि मैंने समय के साथ इसकी कलाकृतियों को बदल दिया है।)
मैंने तब उनके पीओएम में पाए जाने वाले आर्किटेप्स विवरण के आधार पर मैन्युअल रूप से परिणामी सूची को फ़िल्टर्ड किया, और उनमें से कुछ होनहार आर्कटाइप्स के लिए (आधिकारिक वेबसाइट पर, आम तौर पर) एक और रूप दिया। केवल com.github.ngeor:archetype-quickstart-jdk8
एक उपयुक्त उम्मीदवार होने का पता चला। लेकिन इसके लेखक ने मुझे लिखा है कि वह "इन दिनों कट्टरपंथ का अधिक उपयोग नहीं कर रहा है"।