亲宝软件园·资讯

展开

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

啊Q老师 人气:0

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相应修改,即可消除。

加载全部内容

相关教程
猜你喜欢
用户评论