के मुख्य वर्ग को चलाएं मैंने मैवेन के साथ बनाया गया एक सरल कंसोल जावा एप्लिकेशन बनाया है।मेवेन प्रोजेक्ट
mvn run-app com.example.MainClass
के मुख्य वर्ग को चलाएं मैंने मैवेन के साथ बनाया गया एक सरल कंसोल जावा एप्लिकेशन बनाया है।मेवेन प्रोजेक्ट
mvn run-app com.example.MainClass
maven-exec-plugin का प्रयास करें: वहाँ एक रास्ता है कि मुख्य वर्ग (जो किसी भी तर्क की आवश्यकता नहीं है) की तरह एक Maven आदेश का उपयोग कमांड लाइन से चलाया जा सकता है। वहां से:
mvn exec:java -Dexec.mainClass="com.example.Main"
यह आपकी कक्षा को JVM में चलाएगा। आप तर्क पारित करने के लिए -Dexec.args="arg0 arg1"
का उपयोग कर सकते हैं।
आप Windows पर हैं, तो
exec.mainClass
औरexec.args
के लिए उद्धरण लागू होते हैं:mvn exec:java -D"exec.mainClass"="com.example.Main"
आप इस नियमित रूप से कर रहे हैं, तो आप pom.xml में पैरामीटर जोड़ सकते हैं और साथ ही:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.example.Main</mainClass>
<arguments>
<argument>foo</argument>
<argument>bar</argument>
</arguments>
</configuration>
</plugin>
हालांकि मैवेन निष्पादन यहां चाल करता है, मुझे वास्तविक परीक्षण के लिए यह बहुत खराब लगता है। जबकि maven shell लिए इंतज़ार कर रहे, और उम्मीद यह दूसरों की मदद कर सकता है, मैं अंत में इस रेपो के लिए सामने आए mvnexec
यह क्लोन, और अपने रास्ते में script कहीं सिमलिंक। मैं ~/bin/mvnexec
का उपयोग करता हूं, क्योंकि मेरे पास मेरे पथ में ~/bin
है। मुझे लगता है कि mvnexec स्क्रिप्ट के लिए एक अच्छा नाम है, लेकिन सिमलिंक बदलने के लिए आप पर निर्भर है ...
अपनी परियोजना है, जहां आप src और लक्ष्य dirs देख सकते हैं की जड़ से यह लॉन्च किया गया।
मुख्य विधि के साथ कक्षाओं के लिए स्क्रिप्ट खोज, एक का चयन की पेशकश एक (mavenized JMeld परियोजना के साथ उदाहरण) का चयन करने के
$ mvnexec
1) org.jmeld.ui.JMeldComponent
2) org.jmeld.ui.text.FileDocument
3) org.jmeld.JMeld
4) org.jmeld.util.UIDefaultsPrint
5) org.jmeld.util.PrintProperties
6) org.jmeld.util.file.DirectoryDiff
7) org.jmeld.util.file.VersionControlDiff
8) org.jmeld.vc.svn.InfoCmd
9) org.jmeld.vc.svn.DiffCmd
10) org.jmeld.vc.svn.BlameCmd
11) org.jmeld.vc.svn.LogCmd
12) org.jmeld.vc.svn.CatCmd
13) org.jmeld.vc.svn.StatusCmd
14) org.jmeld.vc.git.StatusCmd
15) org.jmeld.vc.hg.StatusCmd
16) org.jmeld.vc.bzr.StatusCmd
17) org.jmeld.Main
18) org.apache.commons.jrcs.tools.JDiff
#?
यदि एक चयन किया जाता है (टाइपिंग संख्या), आप तर्क के लिए शीघ्र कर रहे हैं (आप कर सकते हैं mvnexec -P
से बचें)
डिफ़ॉल्ट रूप से यह प्रत्येक रन प्रोजेक्ट को संकलित करता है। लेकिन आप बच सकते हैं कि mvnexec -B
का उपयोग कर यह परीक्षण कक्षाओं -M
या --no-main
, या केवल मुख्य वर्गों -T
या --no-test
में में केवल खोज करने के लिए अनुमति देता है। नाम विकल्प -f <whatever>
आशा है कि यह आपको कुछ समय बचा सकता है, मेरे लिए यह एक फ़िल्टर है।
ध्यान दें कि यह बॉक्स से बाहर नहीं होगा विंडोज़ पर जिनके पास प्रोग्राम की आवश्यकता नहीं है। –
यह सच है। विंडोज़ के लिए आप हमेशा * nix shell जैसे grep, sed, cut के साथ * nix shell प्राप्त करने के लिए साइगविन का उपयोग कर सकते हैं ... – albfan
बहुत समय बचाया, thnx –
यह भी एक अच्छा है। पता नहीं था कि यह अस्तित्व में था। –
एक आकर्षण की तरह काम करता है –
इस तरह से मुख्य श्रेणी को चलाने के लिए सुविधाजनक नहीं है :( – hugemeow