今天下午发布了swagger自动生成文档。当文档做好了之后是不是要打包,用shell部署到远程的阿里巴巴服务器呢?
今天,通过同事的建议发现maven可以远程部署项目。
首先确定你的tomcat版本!我就是因为没有确定tomcat版本吃了很多亏,搞了一天,先写流行的tomcat7,再写tomcat6.
tomcat7与maven
第一步 **修改tomcat配置。
让你的tomcat可以远程部署与管理项目**
vi %TOMCAT7_PATH%/conf/tomcat-users.xml
添加代码块
<tomcat-users>
<role rolename="manager-gui"/><!--这里的与tomcat6不一样-->
<role rolename="manager-script"/><!--tomcat6可以自定义权限名,7不可以,这里还有多两个权限,分别是manager-jmx和manager-status,但是与我们要的目的无关,所以不用定义-->
<user username="admin" password="password" roles="manager-gui,manager-script" />
<!--自定义用户名与密码,用于登录你的tomcat,233我也觉得好神奇,tomcat太牛逼了-->
</tomcat-users>
接着,用浏览器登录你的tomcat,地址是域名+/manager/html 用刚刚的用户名密码登录后,你会看到下面这个网页
恭喜你,你可以不用shell 上传啦,以后也可以用这里手动添加和管理得你应用,跟新浪云服务器一样66的了。但是我们的目的还没搞定
第二步修改你本机的maven配置
用eclipse 的内置maven的话对不起,请你重新下载一个新的。然后配置好,然后到你安装的maven目录下面的 /conf/settings.xml进行修改
根据里面被注释掉的内容,找到server表签,并修改为
<servers>
<server>
<id>TomcatServer</id><!--配置你的服务器名,打包后将自行部署上去-->
<username>admin</username><!--刚刚的用户名-->
<password>password</password><!--刚刚的密码-->
</server>
</servers>
第三步,添加tomcat-maven插件
用eclipse的话在项目名右键找到maven 添加插件tomcat7-maven-plugin
之后在pom.xml文件内添加
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://{域名}/manager/text</url><!--记住后面是text哦tomcat7新特性-->
<server>TomcatServer</server><!--刚刚配置的主机名-->
<path>/timeShop</path><!--应用路径名-->
</configuration>
</plugin>
好啦至此,环境搭建完毕。
怎么运行呢。
eclipse-右键-run as-maven build
第一次运行的时候会显示让你填指令名
填入 tomcat7 deploy -X
-X是可选的,运行时进行跟踪,上传时会出现很多utf-8代码。运行没问题以后去掉就好
OK运行。当你看到下图证明你运行成功
行啦,打开你的tomcat管理器就能看到项目了。
**——————–2016-05-22更新—————————-
撤销部署:
tomcat7:undeploy
启动web应用:
tomcat7:start
停止web应用:
tomcat7:stop
重新部署:
tomcat7:redeploy
部署:
tomcat7:deploy
部署展开的war文件:
war:exploded tomcat:exploded**
补充tomcat6与tomcat7的不同之处
1.插件使用不同。tomcat6使用的是tomcat6-maven-plugin
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager</url>
<server>TomcatServer</server>
<path>/mkyongWebApp</path>
</configuration>
</plugin>
2.运行指令不同,tomcat6使用的是
tomcat6:deploy
今天又调bug调了一天了,真的把英语学好真的很重要,但愿生活没有bug