文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Maven Web项目使用Cargo插件实现自动化部署的详细步骤

2023-02-21 12:01

关注

Maven

实现Web项目部署到本地Tomcat

下面介绍基于Maven使用cargo插件实现的自动部署。

首先,简单介绍一下 cargo ,它是一组帮助用户实现自动化部署,操作Web容器的工具,并且几乎支持所有的Web容器。它通过cargo-maven2-plugin提供了maven集成,Maven用户使用该插件将Web项目部署到Web容器中,进行功能测试。接着,讲解实现Web项目部署到本地Tomcat,步骤如下:(以 Tomcat 8.5.75Maven 3.6.0MSW项目 为例)

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 终止批处理操作。如图:

5.

实现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实现自动化部署内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯