创建的 maven 项目如果是 web 项目,如果通过 eclipse 的 tomcat 插件去发布会遇到各种各样的问题。这一节,我们介绍分别用 maven 的 jetty 插件和 tomcat 插件来发布 maven 的 web 项目。

1、使用 jetty 作为容器

(1)在 pom 文件里引入 jetty 的插件依赖

    <build>
        <finalName>JerseyDemo</finalName>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>8.1.16.v20140903</version>
            </plugin>
        </plugins>
    </build>

2、然后在命令行运行 mvn jetty:run 就可以将该项目发布到 jetty 容器中去了。

mvn jetty:run 命令的含义是: 运行 jetty 插件的 run 目标

运行的效果图:
这里写图片描述

注意:此时发布的 web 项目,如果我们想访问的话,不须要加项目名称。

如果我们希望 maven 在运行 package 以后就发布该项目,我们的思路是:把 jetty 插件的 run 目标绑定到 maven 生命周期的 package 阶段。于是我们写出了下面的 pom.xml 文件片段:

    <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>8.1.16.v20140903</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

配置好上面的 pom 文件片段以后,我们只要运行 mvn clean package 以后,maven 就会自动帮我们运行 mvn jetty:run

2、使用 Tomcat 作为发布容器

我们可以到 Tomcat 的官网上找到 Tomcat 的 maven 插件页,查看使用说明。
这里写图片描述
链接:http://tomcat.apache.org/maven-plugin-2.2/

关键是抄下这段 pom 配置片段:

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
    </plugin>

然后,我们就可以运行 mvn tomcat:run 命令来发布 web 服务到 tomcat 容器了。
按照上一节发布到 jetty 容器的做法,我们还可以将 tomcat 插件的 run 目标绑定到 maven 生命周期的 package 阶段,在这里就不赘述了,非常简单,大家试试看。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐