怎么将maven工程部署到服务器上

怎么将maven工程部署到服务器上,第1张

pom配置

Java代码

<plugin>

<groupId>org.apache.tomcat.maven</groupId>

<artifactId>tomcat7-maven-plugin</artifactId>

<version>2.1</version>

<configuration>

<url>http://192.0.0.203:8080/manager/text</url>

<server>server203</server>

<path>/energy</path>

</configuration>

</plugin>

setting.xml

Java代码

<server>

<id>unknown</id>

<username>tomcat</username>

<password>tomcat</password>

</server>

tomcat配置有管理权限的用户:conf\tomcat-users.xml

Java代码

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

<role rolename="manager"/>

<user username="marshal" password="password" roles="manager"/>

</tomcat-users>

相关命令

运行打包部署:

Java代码

mvn tomcat:deploy

撤销部署:

Java代码

mvn tomcat:undeploy

启动web应用:

Java代码

mvn tomcat:start

停止web应用:

Java代码

mvn tomcat:stop

重新部署:

Java代码

mvn tomcat:redeploy

部署展开的文件:

Java代码

mvn war:exploded tomcat:exploded

自动部署脚本

Java代码

echo [Step 1] tomcat7:undeploy

call mvn tomcat7:undeploy

if errorlevel 1 goto error

echo [Step 1] tomcat7:undeploy

call mvn tomcat7:deploy -Dmaven.test.skip=true

if errorlevel 1 goto error

goto end

:error

echo Error Happen!!

:end

本配置仅适用tomcat7的maven插件,tomcat6请修改配置

能用google和百度解决问题,那是效率最高也是学习成本最低的事情,然而世事难料,并不是所有问题都可以从google获得答案。我写的这个问题,google和百度都没有给我正确的解决方案,甚至连官方文档也没有给出方案,特此贡献给大家,希望可以帮助一小部分人!

笔者初次搭建MAVEN私服,挑选了 nexus作为服务器。 而nexus3.0.2恰巧为最新版本,什么事情都喜欢新的笔者,挑选了最新版本,又很凑巧的选择了一键安装的版本!双击以后的感觉是, 我x原来世界这么简单!

时隔两个月,局域网内的nexus私服已经不能满足需求,需要转移到线上的linux服务器(为什么不直接上线啊 (╯‵□′)╯︵┻━┻)

然后悲剧就发生了

有别于nexus2.x ,nexus 3.x 已经将数据和系统完全分离(其实2.x后面几个版本已经分离完全了)所以转移非常简单:

然而笔者原来用的是windows啊(╯‵□′)╯︵┻━┻ ,当你打开nexus3.x下的data文件夹的时候,看到里面一片空白(╯‵□′)╯︵┻━┻

有可能是迁移过于简单,所以查不到这个问题,而nexus3.x的文档只有从2.x向3.x迁移的办法,却是我实实在在踩过的坑

重点说下第2个需求,在Maven中可以调用ant插件,如下:

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-antrun-plugin</artifactId>

<version>1.7</version>

<executions>

<execution>

<id>install</id>

<phase>install</phase>

<configuration>

<target>

<property name="cd" value="${project.build.directory}/${project.build.finalName}" />

<ant antfile="${basedir}/build.xml">

<target name="deploy"/>

</ant>

</target>

</configuration>

<goals>

<goal>run</goal>

</goals>

</execution>

</executions>

<dependencies>

<dependency>

<groupId>ant</groupId>

<artifactId>ant-jsch</artifactId>

<version>1.6.5</version>

</dependency>

<dependency>

<groupId>com.jcraft</groupId>

<artifactId>jsch</artifactId>

<version>0.1.42</version>

</dependency>

</dependencies>

</plugin>

build.xml 如下:

<?xml version="1.0" ?>

<project name ="WEB" default ="deploy" basedir =".">

<property environment="env"/>

<target name="deploy">

<sshexec host="192.168.1.100" username="root" password="pass" trust="true"

command="rm -rf /data/workrm -rf /data/rest-web-standalone.war">

</sshexec>

<scp file="${project.build.directory}/rest-web-standalone.war" todir="root:pass@192.168.1.100:/data/rest-web-standalone.war" trust="true" />

</target>

</project>


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/533406.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-24
下一篇2023-06-24

发表评论

登录后才能评论

评论列表(0条)

    保存