下方为pom.xml的配置文件需要添加的内容。
<properties>
<service-path>/服务器中存放文件地址</service-path>
<pack-name>${project.artifactId}-${project.version}.jar</pack-name>
<remote-addr>ip:port</remote-addr>
<remote-username>用户名</remote-username>
<remote-passwd>密码</remote-passwd>
</properties>
<!-- https://mvnrepository.com/artifact/org.codehaus.mojo/wagon-maven-plugin -->
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>2.0.0</version>
</dependency>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.8</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<fromFile>target/${pack-name}</fromFile>
<url><![CDATA[scp://${remote-username}:${remote-passwd}@${remote-addr}${service-path}]]></url>
<!-- 在服务器执行的命令集合 -->
<commands>
<!-- 杀死原来的jar进程 -->
<command>pkill -f ${pack-name}</command>
<!-- 重新启动jar进程,程序的输出结果写到log文件中 -->
<command><![CDATA[nohup java -jar ${service-path}/${pack-name} --spring.profiles.active=dev > ${service-path}/rapdevfarpro.log 2>&1 & ]]></command>
<command><![CDATA[netstat -nptl]]></command>
<command><![CDATA[ps -ef | grep java | grep -v grep]]></command>
</commands>
<!-- 显示运行命令的输出结果 -->
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>
</plugins>
</build>
注:服务器密码不能带有@符号。
在终端或者pom.xml文件相同目录下执行以下mvn命令:
命令一: mvn clean package wagon:sshexec wagon:upload-single
命令二:mvn clean package wagon:upload-single wagon:sshexec
命令一:先执行<commands>的命令再上传war包,命令二相反。