Maven
实现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相应修改,即可消除。
到此这篇关于Maven Web项目使用Cargo实现自动化部署的文章就介绍到这了,更多相关Cargo实现自动化部署内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!