Maven-Jetty的插件集成快速启动

除了像常规的jetty类似tomcat的使用方式外,jetty和tomcat都可以集成maven插件

Jetty的Maven-plugin集成

通过Main函数启动jetty

这种方式很明显适合快速开发的开发人员的开发环境
在项目的POM文件的dependencies中加入

<!-- 自制Jetty插件用 -->
<dependency>
    <groupId>org.eclipse.jetty.aggregate</groupId>
    <artifactId>jetty-all</artifactId>
    <version>9.0.0.v20130308</version>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
  </dependency>
  <dependency>
     <groupId>org.eclipse.jetty</groupId>
     <artifactId>jetty-jsp</artifactId>
     <version>9.0.0.v20130308</version>
  </dependency>

如果jetty-all找最新版本,可能会拉取有问题,而且9.0版本是mortbay在维护,后面交由eclipse在维护

在Java代码中编写入口文件,写一个Main函数:

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;

/**
 * Jetty入口文件
 * @author Nick
 */
public class Application {

    public static void main(String[] args) {

        int port = 8081;
        Server server = new Server(port);
        WebAppContext webAppContext = new WebAppContext("webapp","/");  

        webAppContext.setDescriptor("webapp/WEB-INF/web.xml");  
        webAppContext.setResourceBase("src/main/webapp");  
        webAppContext.setDisplayName("Jetty");  
        webAppContext.setClassLoader(Thread.currentThread().getContextClassLoader());  
        webAppContext.setConfigurationDiscovered(true);  
        webAppContext.setParentLoaderPriority(true);  

        try {
            server.setHandler(webAppContext);  
            server.start();
            System.out.println("server is  start, port is "+port+"............");  
            server.join();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

右键,运行
这里写图片描述

此时在浏览器访问:http://localhost:8081/就可以得到我们的项目,如果不要/,而要加上项目名的话,就是在
WebAppContext webAppContext = new WebAppContext(“webapp”,”/myProjectName”);

Jetty-Maven插件

Jetty-Maven插件有两个可以用

org.mortbay.jetty

在pom.xml的build->plugins里面加入

<plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>8.1.16.v20140903</version>
        <configuration>
            <scanIntervalSeconds>10</scanIntervalSeconds>
            <webApp>
                <contextPath>/test</contextPath>
            </webApp>
            <connectors>
                <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                    <port>8082</port>
                </connector>
            </connectors>
        </configuration>
    </plugin>

运行maven命令:mvn jetty:run
如果没有<port>8082</port>设置的话,可以使用mvn -Djetty.port=8082 jetty:run修改默认的8080端口

org.eclipse.jetty

mortbay和eclipse的jetty插件都是一个东西,只是8.x版本是由mortbay在维护,后面的版本是由eclipse在维护

同样的在build->plugins加入

<plugin>
    <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.0.0.v20130308</version>
        <configuration>
            <httpConnector>
                <port>8082</port>
            </httpConnector>
        </configuration>
    </plugin>

运行maven命令:mvn jetty:run
如果没有<port>8082</port>设置的话,可以使用mvn -Djetty.port=8082 jetty:run修改默认的8080端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值