Maven Web项目使用Cargo插件实现自动化部署的详细步骤
啊Q老师 人气:0Maven
实现Web项目部署到本地Tomcat
下面介绍基于Maven使用cargo插件实现的自动部署。
首先,简单介绍一下 cargo ,它是一组帮助用户实现自动化部署,操作Web容器的工具,并且几乎支持所有的Web容器。它通过cargo-maven2-plugin提供了maven集成,Maven用户使用该插件将Web项目部署到Web容器中,进行功能测试。接着,讲解实现Web项目部署到本地Tomcat,步骤如下:(以 Tomcat 8.5.75 、 Maven 3.6.0 、 MSW项目 为例)
1.第一步,在Maven的全局配置文件 setting.xml 中的pluginGroups节点添加以下配置
< pluginGroup >org.codehaus.cargo< /pluginGroup >
如图:
2.第二步,使用cargo的existing模式,用户需要指定现有的Web容器配置目录,然后cargo会直接使用这些配置并将应用部署到其对应的位置。
然后在MSW项目的pom.xml下添加以下配置:
<!-- 设置构建 --> <build> <!-- 设置war包名称 --> <finalName>MavenWebProject-Strategy</finalName> <plugins> <!-- Tomcat自动部署插件 --> <plugin> <!-- cargo坐标 --> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.6.8</version> <!-- 使用cargo所需的初始信息 --> <configuration> <container> <containerId>tomcat8x</containerId> <!-- tomcat本地安装目录 --> <home>D:\Program Files\apache-tomcat-8.5.75</home> </container> <configuration> <!-- cargo部署web项目的模式 --> <type>existing</type> <home>D:\Program Files\apache-tomcat-8.5.75</home> <properties> <!-- 监听端口,默认是8080 --> <cargo.servlet.port>8080</cargo.servlet.port> </properties> </configuration> </configuration> <!-- cargo执行阶段配置 --> <executions> <execution> <id>cargo-run</id> <phase>install</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> </plugins> </build>
3.第三步,在MSW目录下,输入cmd进入命令窗口,输入命令:mvn deploy 。
4.第四步,打开浏览器,输入 http://localhost:8080/MavenWebProject-Strategy/AdminLogin.jsp 测试。如图:
注:MavenWebProject-Strategy 为war包名称,其包已发布在 apache-tomcat-8.5.75\webapps 目录下。
5.最后,测试完成后,按 ctrl + c 终止批处理操作。如图:
实现Web项目远程部署到Tomcat
接下来,我们来实现Web项目远程部署到Tomcat。
1.首先,我们在Maven的全局配置文件 setting.xml 中的servers节点添加以下配置
<server> <id>tomcat8x</id> <username>admin</username> <password>admin</password> </server>
如图:
2. 打开 apache-tomcat-8.5.75\conf 目录下的 tomcat-users.xml ,在tomcat-users节点添加以下配置
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <role rolename="admin-gui"/> <user username="admin" password="admin" roles="admin-gui,manager-gui,manager-script,manager-status"/>
如图:
3.设置允许远程访问,打开 apache-tomcat-8.5.75\webapps\manager\META-INF 目录下的 context.xml ,在Context节点下添加以下配置
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
如图:
4.在MSW项目的pom.xml下添加以下配置(替换本地部署构建的配置),注:请输入本机IP地址
<!-- 设置构建 --> <build> <!-- 设置war包名称 --> <finalName>MSW</finalName> <plugins> <!-- Tomcat自动部署插件 --> <plugin> <!-- cargo坐标 --> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.6.8</version> <!-- 使用cargo所需的初始信息 --> <configuration> <container> <containerId>tomcat8x</containerId> <type>remote</type> </container> <configuration> <type>runtime</type> <properties> <cargo.protocol>http</cargo.protocol> <cargo.hostname>本机IP地址</cargo.hostname> <cargo.serlet.port>8080</cargo.serlet.port> <cargo.remote.username>admin</cargo.remote.username> <cargo.remote.password>admin</cargo.remote.password> <cargo.remote.uri>http://本机IP地址:8080/manager/text</cargo.remote.uri> </properties> </configuration> <deployables> <deployable> <groupId>cn.edu.MSW</groupId> <artifactId>MSW</artifactId> <type>war</type> <properties> <context>/${project.artifactId}</context> </properties> </deployable> </deployables> </configuration> <executions> <execution> <id>verify-deployer</id> <phase>deploy</phase> <goals> <goal>deployer-redeploy</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> </plugins> </build>
注:按 win + R 输入cmd打开命令行窗口,输入 ipconfig ,IPv4 地址即是 本机IP地址。如图:
5.启动Tomcat,点击 apache-tomcat-8.5.75\bin 目录下的 startup.bat 。保持运行,打开浏览器,输入 http://本机IP地址:8080 ,如图
6.在MSW目录下输入 cmd ,进行命令行窗口,输入 mvn install ,构建成功后,再输入:mvn cargo:redeploy 。如图
7.最后,打开浏览器输入 http://本机IP地址:8080/MSW/AdminLogin.jsp ,如图
提示:远程部署,其他电脑用户需要在同一个局域网(即其本机IP地址前三段需要相同)才可以进行访问。另外,网址输入中一直有 :8080 ,可以在 apache-tomcat-8.5.75\conf 目录下的 server.xml 将端口号8080 修改为 80,pom.xml相应修改,即可消除。
加载全部内容