maven实现一键部署到Linux上的tomcat(无需重启服务器)

如今,maven可以轻松实现一键部署web项目到Linux上的tomcat。自己做了下研究,亲测可用。

这里与tomcat7为例。(tomcat6与tomcat7有一点区别)

 

1,配置你Linux上的tomcat的配置文件。

找到apache-tomcat-7xxx文件夹下的conf文件夹下的tomcat-users.xml。

打开后添加:

<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>

ok,启动一下tomcat。

测试我们的用户名和密码是否设置正确

 

输入地址:http://yourIp:port/manager/text(tomcat7的写法)(Linux中的ip和端口)
 
输入地址:http://yourIp:port/manager/html(tomcat6的写法)

如果出现要输入用户名和密码的对话框,表示你设置成功。

现在,tomcat就不要关闭了,我们所有的操作都是在tomcat开启的情况下操作,不然怎么叫做无需重启服务呢。
 

2,配置我们的maven中的setting.xml文件

 

找到你项目关联的maven地址中的setting.xml

做到这里我们就成功了一大步。

 

3,下面我们就来配置我们的web项目。你要确定它是集成了maven的。

配置一个插件即可运行。直接上图

然后你就可以在tomcat文件夹下的webapps文件夹下可以看到我们的项目的war包了。

输入index.jsp即可看到我们项目的界面。

到这里我们就配置成功了。

 

新增异常:

cannot find war的异常:

可能是你使用了打war包的插件,你需要把warName的值改成跟你找不到的war包名一样即可。

 

<!--用来打包的插件-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <!--定义包文件的名称,不带版本号-->
        <warName>${project.artifactId}-${project.version}</warName>
    </configuration>
</plugin>

 

//第一次 mvn package -Pdevelop -Dmaven.skip.test=true tomcat7:deploy

//之后 mvn package -Pdevelop -Dmaven.skip.test=true tomcat7:redeploy

 

package使用的是最外层的

打包使用:

 

对于tomcat8以上的,如果出行发布失败、报错等情况

需要在你的tomcat服务器的conf/Catalina/localhost/目录下创建一个manager.xml文件,写入如下值:

<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false"
         docBase="${catalina.home}/webapps/manager">
             <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

保存。

发布项目到webapps下为ROOT.war的配置:

<plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>
                    tomcat7-maven-plugin
                </artifactId>
                <version>2.2</version>
                <configuration>
                    <url>http://192.168.1.249:9999/manager/text</url>
                    <server>tomcat9</server>
                    <username>admin</username>
                    <password>admin</password>
                    <path>/</path> <!--  这里加了路径,如/ssm那么上传会有个ssm.war的包,且访问的路径需要加ssm/index.jsp  -->
                    <!--<warFile>${basedir}/target/ROOT.war</warFile>-->
                </configuration>
            </plugin>

 

//---------end----------

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值