我的情况:我已经部署了一定的测试文件到服务器,我想运行使用maven远程服务器上的shell脚本。 没有Maven插件为CURENT语言,因此我做这种方式。 shell脚本将运行测试,并生成一个.txt格式的输出。
我的问题:我已经使用Maven的蚂蚁运行插件成功运行该脚本,但它不显示行家输出。 它执行脚本后,输出的时候运行Maven不显示后任何事情。 所以在这种情况下,使用maven-ANT-运行并不理想。 这是我的pom.xml的一部分:
<plugin>
<!-- Step to copy the unit tests to designated destination -->
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>Deploy Unit tests onto Server</id>
<phase>process-test-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!-- Copy files to the remote integration test server -->
<!-- Transferring unit tests -->
<scp failonerror="true" todir="${scp.user}:${scp.password}@${scp.host}:/${scp.dirCopyToUnit}" trust="true">
<fileset dir="${scp.UnitTest.api.dir}">
<include name="*"></include>
</fileset>
</scp>
<!-- transferring resources files -->
<scp failonerror="true" todir="${scp.user}:${scp.password}@${scp.host}:/${scp.dirCopyToUnitResources}" trust="true">
<fileset dir="${scp.UnitTest.api.dirResources}">
<include name="*"></include>
</fileset>
</scp>
<!-- transferring spec_helper.lua -->
<scp failonerror="true" todir="${scp.user}:${scp.password}@${scp.host}:/${scp.dirCopySpec_Helpers}" trust="true">
<fileset dir="${scp.UnitTest.api.dirSpec_Helpers}">
<include name="*"></include>
</fileset>
</scp>
<sshexec command="sh /tmp/unitTestMaven.sh exit exit" host="${scp.host}" password="${scp.password}" trust="yes" username="${scp.user}"></sshexec>
<taskdef classname="org.apache.tools.ant.taskdefs.optional.ssh.SSHExec" classpathref="maven.plugin.classpath" name="sshexec"></taskdef>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.53</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-jsch</artifactId>
<version>1.8.4</version>
</dependency>
</dependencies>
</plugin>
有人可以提供一些线索这光?
可能的资源: 行家antrun ssh或scp隐藏输出
我已经使用了旅行车的插件也试过:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>execute-test-commands</id>
<phase>test</phase>
<goals>
<goal>sshexec</goal>
</goals>
<configuration>
<serverId>atlassian-public</serverId>
<url>"scp://${scp.user}:${scp.password}@${scp.host}"</url>
<commands>
<command>sh /tmp/unitTestMaven.sh</command>
</commands>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
但得到以下错误: org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:wagon-maven-plugin:1.0:sshexec (execute-test-commands) on project aa: Unable to create a Wagon instance