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>
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)