Maven3

2012-09-13 5 views
5

का उपयोग कर एसएसएच के माध्यम से रिमोट कमांड चलाएं मैं अपने WAR फ़ाइल को सर्वर पर स्कैन करने के लिए वैगन-मैवेन-प्लगइन का उपयोग कर रहा हूं। यह बढ़िया काम करता है। मेरा अगला कदम सर्वर पर कुछ आदेशों को निष्पादित करना है (mkdir, आदि)। क्या कोई प्लगइन है जो मुझे ऐसा करने में मदद करता है? क्या वैगन-मेवेन-प्लगइन का उपयोग करके इसे बाहर करने का कोई तरीका है?Maven3

मैं एमवीएन के लिए अपेक्षाकृत नया हूं। किसी भी सहायता की सराहना की जाएगी।

कोई सुझाव?

उत्तर

12

मैं exec-maven-plugin के साथ ssh कमांड चलाने में सक्षम था। यह हैक के सभी प्रकार के लिए एक शक्तिशाली मेवेन प्लगइन है और कमांड भी चलाता है। समाधान में रुचि रखने वाले किसी भी व्यक्ति के लिए

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.2.1</version> 
    <executions> 
    <execution> 
     <phase>install</phase> 
     <goals> 
     <goal>exec</goal> 
     </goals> 
    </execution> 
    </executions> 
    <configuration> 
    <executable>sh</executable> 
    <arguments> 
     <!-- Shell script location --> 
     <argument>runscript.sh</argument> 
     <!-- arg #1 --> 
     <argument>${file_1}</argument> 
    </arguments> 
    </configuration> 
</plugin> 

मुझे मिला एक और समाधान मैवेन-एंट्रून-प्लगइन चलाने के लिए था। मैं इसकी अनुशंसा नहीं करता क्योंकि यह एएनटी कार्यों को चलाता है और इसमें कई निर्भरताएं हैं। लेकिन अगर आप मेवेन के माध्यम से चींटी कार्यों को चलाने की जरूरत होगी तो यह आसान है।

<plugin> 
    <inherited>false</inherited> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.6</version> 
    <configuration> 
    <target> 
     <loadproperties srcFile="deploy.properties" /> 
     <ftp action="send" server="server" 
      remotedir="https://stackoverflow.com/a/b" userid="usr" 
      password="pw" depends="no" 
      verbose="yes" binary="yes"> 
     <fileset dir="modules/my-module/target"> 
      <include name="file.zip" /> 
     </fileset> 
     </ftp> 

     <!-- calls deploy script --> 
     <sshexec host="host" trust="yes" 
       username="usr" password="pw" 
       command="sh /my/script.sh" /> 

     <!-- SSH --> 
     <taskdef name="sshexec" 
       classname="org.apache.tools.ant.taskdefs.optional.ssh.SSHExec" 
       classpathref="maven.plugin.classpath" /> 
     <taskdef name="ftp" 
       classname="org.apache.tools.ant.taskdefs.optional.net.FTP" 
       classpathref="maven.plugin.classpath" /> 
    </target> 
    </configuration> 
    ... 
    <dependencies> 
    <dependency> 
     <groupId>commons-net</groupId> 
     <artifactId>commons-net</artifactId> 
     <version>1.4.1</version> 
    </dependency> 
    <dependency> 
     <groupId>ant</groupId> 
     <artifactId>ant-commons-net</artifactId> 
     <version>1.6.5</version> 
    </dependency> 
    <dependency> 
     <groupId>ant</groupId> 
     <artifactId>ant-jsch</artifactId> 
     <version>1.6.5</version> 
    </dependency> 
    <dependency> 
     <groupId>jsch</groupId> 
     <artifactId>jsch</artifactId> 
     <version>0.1.29</version> 
    </dependency> 
    </dependencies> 
</plugin> 

आशा है कि मदद करता है!

+0

एक और विकल्प वैगन-मेवेन-प्लगइन की sshexec सुविधा है – Josh

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