2009-03-11 16 views
41

Maven Archetypes "टेम्पलेट्स" हैं जिनके द्वारा आप किसी दिए गए ढांचे या प्रोजेक्ट प्रकार का त्वरित उदाहरण उत्पन्न कर सकते हैं। मैं वर्तमान में नेट पर सक्रिय सभी मेवेन आर्केटाइप कैटलॉग की एक सूची संकलित करने की कोशिश कर रहा हूं।उन सभी मेवेन आर्केटाइप कैटलॉग के यूआरएल क्या हैं जिन्हें आप जानते हैं?

From the Maven documentation about catalog files:

आद्यरूप के बारे में ज्ञान कैटलॉग में जमा हो जाती है।

कैटलॉग xml फ़ाइलें हैं।

आर्किटेप प्लगइन एक आंतरिक कैटलॉग के साथ बंडल आता है। यह डिफ़ॉल्ट रूप से उपयोग किया जाता है।

आर्किटेप प्लगइन स्थानीय फाइल सिस्टम से और कनेक्शन से कैटलॉग का उपयोग कर सकता है।

अब तक, मैं खजाने कि कैटलॉग प्रकाशित करते हैं, लेकिन किसी को भी अधिक से जानता है देखने के लिए प्यार होता है की इस सूची एकत्र की है: एक ही करने के लिए

mvn archetype:generate 
-DarchetypeCatalog=local 
-DarchetypeCatalog=remote 
-DarchetypeCatalog=http://repo.fusesource.com/maven2 
-DarchetypeCatalog=http://cocoon.apache.org 
-DarchetypeCatalog=http://download.java.net/maven/2 
-DarchetypeCatalog=http://myfaces.apache.org 
-DarchetypeCatalog=http://tapestry.formos.com/maven-repository 
-DarchetypeCatalog=http://scala-tools.org 
-DarchetypeCatalog=http://www.terracotta.org/download/reflector/maven2/ 

लिंक: 1) FuseSource 2) Cocoon 3) Java.net 4) MyFaces 5) Tapestry 6) Scala Catalog 7) Terracotta Catalog

आप देखेंगे कि यदि रिपॉजिटरी वास्तव में एक आर्केटाइप कैटलॉग (उपरोक्त सभी में से) प्रकाशित करती है, तो आपको archetype-catalog.xml में मिले सभी विकल्पों का यूआई संकेत मिलेगा। उदाहरण के लिए:

mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org 

[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) 
Choose archetype: 
1: http://scala-tools.org -> scala-archetype-simple (A simple scala project) 
2: http://scala-tools.org -> lift-archetype-blank (A blank/empty liftweb project) 
3: http://scala-tools.org -> lift-archetype-basic (A basic liftweb project (with DB, css, ...)) 
Choose a number: (1/2/3): 

आप उदाहरण के लिए सीधे स्काला सूची फ़ाइल को देखना चाहते हैं, तो आप कर सकते हैं browse to http://scala-tools.org/archetype-catalog.xml

लेकिन अगर भंडार एक आदर्श-catalog.xml प्रदान नहीं करता है, तो PascalT कहते हैं बस के रूप में , आपको अग्रिम नाम (बहुत कम सुविधाजनक) पता होना चाहिए और कमांड लाइन तर्कों में इसे पास करना होगा।

+0

दुर्भाग्यवश, मैवेन 3 (मुझे विश्वास है) के रूप में कमांड लाइन पर एक सूची के यूआरएल या फ़ाइल नाम को पास करने के लिए 'एमवीएन आर्केटाइप: जेनरेट करें- डार्चेटाइप कैटलॉग = ...' जैसा ऊपर किया गया है अब संभव नहीं है। केवल 'स्थानीय', 'रिमोट' और 'आंतरिक' समर्थित हैं और कॉन्फ़िगरेशन [सेटिंग्स.xml में होता है] (https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html #archetypeCatalog)। –

उत्तर

16

ईमानदारी से कहूं तो, मैं वास्तव में सभी सूची की एक सूची के निर्माण की बात नहीं दिख रहा। यह पहले एक परियोजना लेने के लिए मुझे "प्राकृतिक" दिखता है और फिर आवश्यक होने पर कैटलॉग जोड़ता है। यही कारण है कि archetypes की सूची में आईएमओ अधिक मूल्य है। किसी भी सूची में आपके पास कैटलॉग होने पर भी आपको उनके नाम की आवश्यकता होगी।

वैसे भी, यहाँ कुछ उम्मीदवार हैं;

संपादित आद्यरूप है: मूलरूप आदर्श के कैटलॉग पर मैथ्यू स्पष्टीकरण के बाद।

मैं कुछ अवधारणाओं को गलत समझा और मेरा उत्तर स्पष्ट और सही नहीं है।

कैटलॉग का बिंदु बिल्कुल को में आर्केटीप्स के नामों को नहीं जानना है। वे आद्यरूप प्रकाशित करें और mvn archetype:generate आद्यरूप सूची अनुमति देने के लिए बना रहे हैं। तो यह "बाहरी" कैटलॉग (आंतरिक में नहीं समझते हैं) जोड़ने के लिए जब mvn archetype:generate का उपयोग कर जाना जाता आद्यरूप की एक व्यापक सूची प्राप्त करने के समझ में आता है।

एक सूची के बिना आद्यरूप लिए, उपयोगकर्ताओं को एक भयानक आदेश है कि कहीं प्रलेखित किया जाना चाहिए टाइप करने के लिए (क्योंकि यह विरूपण साक्ष्य के ज्ञान की आवश्यकता है)।

मेरे प्रस्ताव के बारे में:

  • Atlassian के आद्यरूप आंतरिक सूची में हैं। कोई अच्छा प्रस्ताव नहीं है।

  • Grails archetypes आंतरिक सूची में या प्रकाशित archetype-catalog.xml में नहीं हैं। कोई अच्छा प्रस्ताव नहीं है।

  • ServiceMix यहाँ कैटलॉग http://servicemix.apache.org/tooling/ (एक http://servicemix.apache.org/tooling/<version>/archetype-catalog.xml पैटर्न के आधार पर) है। मान्य प्रस्ताव।


एक मजेदार बात मैं जबकि इस खुदाई सीखा है। archetype:crawl लक्ष्य मूल रूप से Archetypes के लिए खोज एक स्थानीय Maven भंडार क्रॉल और/डिफ़ॉल्ट रूप से ~/.m2/repository में एक archetype-catalog.xml फ़ाइल अद्यतन करता है उत्पन्न करता है: Maven लोग मदद करता है कि आद्यरूप विकासशील लोगों को एक सूची एक्सएमएल बनाने के लिए एक अच्छा उपकरण प्रदान करता है। परियोजनाओं, लोगों को समय-समय पर कुछ चलाना पड़ता है जैसे:

mvn archetype:crawl -Dcatalog=/var/www/html/archetype-catalog.xml

Grails एक कैटलॉग प्रदान नहीं करता है। एक परियोजना, we have to run बनाने के लिए:

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate -DarchetypeGroupId=org.grails \ 
-DarchetypeArtifactId=grails-maven-archetype \ 
-DarchetypeVersion=1.0 \ 
-DarchetypeRepository=http://snapshots.repository.codehaus.org \ 
-DgroupId=example -DartifactId=my-app 

लेकिन जब हमने ऐसा किया, हम अपने स्थानीय भंडार में मूलरूप आदर्श है। तो अगर हम टाइप करें:

mvn archetype:crawl -Dcatalog=/home/<me>/.m2/archetype-catalog.xml 

मूलरूप आदर्श ~/.m2/archetype-catalog.xml में सूचीबद्ध हो और हम अब भी Grails के लिए mvn archetype:generate उपयोग कर सकते हैं (विकल्प 5 देखें):

mvn archetype:generate 
... 
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) 
Choose archetype: 
1: local -> maven-archetype-archetype (archetype) 
2: local -> maven-archetype-j2ee-simple (j2ee) 
3: local -> maven-archetype-quickstart (quickstart) 
4: local -> maven-archetype-webapp (webapp) 
5: local -> grails-maven-archetype (maven-project) 
6: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF) 
... 

इस कोर्स के एक (hugly) समाधान नहीं है और इसका दुष्प्रभाव हो सकता है (आप archetypes के नए संस्करण नहीं देखेंगे)।असल में, मुझे लगता है कि archetype: क्रॉल लक्ष्य इस उपयोग के लिए इरादा है। मैं सभी परियोजनाओं को उनके archetypes प्रकाशित करने के लिए चाहते हैं।

+0

जोड़ों के लिए धन्यवाद। यदि आप आर्केटाइप का उपयोग कर रहे हैं: कैटलॉग नाम के साथ उत्पन्न करें, तो आपको चुनने के लिए एक सूची प्रस्तुत की जाएगी, इसलिए आपको पहले से मौजूद आर्केटाइप का नाम पता नहीं होना चाहिए। https: //maven.atlassian.com/... में archetype-catalog.xml –

+0

प्रतीत होता है कैटलॉग के बारे में स्पष्टीकरण के लिए धन्यवाद। मैं स्पष्टीकरण के लिए अपना जवाब संपादित करूंगा। और बीटीडब्ल्यू, एटलसियन आर्केटीप्स वास्तव में आंतरिक सूची में हैं। –

+0

कूल अपडेट। सभी नए डेटा पास्कल के लिए धन्यवाद। यह भी ध्यान रखें कि ~/.m2/archetype-catalog.xml के लिए शॉर्टेंड है - बस कहें-Dcatalog = स्थानीय यह अभी भी इस तथ्य को हल नहीं करता है कि Grails एक प्रदान नहीं कर रहा है, लेकिन यह एक बार आपको साफ कर देता है इसे उत्पन्न करें। –

1

टेराकोटा में एक है लेकिन मुझे यूआरएल ऑफ-हाथ नहीं पता ... वापस पोस्ट करेंगे। इसके अलावा, मैंने AppFuse (http://static.appfuse.org/releases/) और Webtide से अतीत में archetypes का उपयोग किया है, हालांकि मुझे नहीं पता कि उनके आर्केटाइप कैटलॉग कहां खोजें।

टेराकोटा भंडार और सूची यहां हैं: http://www.terracotta.org/download/reflector/maven2/

शायद यह उपयोगी है: http://docs.codehaus.org/display/MAVENUSER/Archetypes+List

+0

धन्यवाद! यह शानदार होगा अगर आप टेराकोटा को केवल आर्केटीप्स प्रकाशित करने के लिए प्रोत्साहित नहीं कर सकते, बल्कि एक आर्केटाइप कैटलॉग प्रकाशित कर सकते हैं। यह वास्तव में archetypes की चौड़ाई का उपयोग प्रोत्साहित करता है। कैटलॉग प्रकाशित करने की जानकारी: http://www.sonatype.com/books/maven-book/reference/archetype-sect-publishing.html –

+0

ऐसा लगता है (http://download.terracotta.org/maven2/index .html) टेराकोटा रेपो है, लेकिन ऐसा लगता है कि इसमें आर्केटाइप-कैटलॉग.एक्सएमएल –

+0

ओउप्स नहीं है! वहां होने के लिए प्रयुक्त, किसी भी तरह से हटा दिया जाना चाहिए। फिक्सिंग ... –

1

नेक्सस द्वारा उत्पादित नेक्सस इंडेक्स और एम 2clipse द्वारा उपभोग की गई सभी archetypes के बारे में पता है और जब आप विचार से एक नया मैवेन प्रोजेक्ट बनाते हैं तो आप उन्हें चुनने देते हैं।

+0

यदि आप जानना चाहते हैं, तो यहां URL https://maven-us.nuxeo.org/nexus/content/groups/public/archetype-catalog.xml –

0

कोडहॉस में 'नेट' पर आर्केटीप्स की एक बहुत मजबूत सूची के लिए अभी तक एक और संसाधन है। http://docs.codehaus.org/display/MAVENUSER/Archetypes+List

+3

यह केवल * आंतरिक * archetypes की एक सूची है। मेवेन का रिमोट कैटलॉग बहुत बड़ा है - http://repo1.maven.org/maven2/archetype-catalog.xml। –

+1

यह केवल इतना बड़ा है क्योंकि उन्होंने इंडेक्सर का उपयोग शुरू किया था। जब मूल रूप से इसका उत्तर दिया गया था, तो केंद्रीय सूची को मैन्युअल रूप से एसवीएन में बनाए रखा गया था। –

1

मेवेन आर्चेटाइप सूची के लिए इस लिंक को देखें http://www.myjeeva.com/2012/06/exclusive-maven-archetype-list/ (आपको लगभग 607 आर्किटेप्स मिलेगा)।

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 197:

के सवाल पर mvn archetype:generate आदेश का उपयोग करते समय ऊपर दी गई लिंक से मूलरूप आदर्श संख्या प्रदान करते हैं। Maven-मूलरूप आदर्श-त्वरित प्रारंभ : -:

नोट> org.apache.maven.archetypes डिफ़ॉल्ट मान 197

  • 197 है (एक मूलरूप आदर्श है जो एक नमूना Maven परियोजना में शामिल है।)
+0

कृपया मुझे नीचे जाने से पहले दृश्य/कारण बताएं। ताकि मैं अपना जवाब सुधार सकूं या स्पष्टीकरण प्रदान कर सकूं। धन्यवाद। – jeevatkm

संबंधित मुद्दे