pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mymvc</groupId>
<artifactId>springmvc.jetty</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>springmvc.jetty Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<javax-activation.version>1.1</javax-activation.version>
<spring.version>4.0.4.RELEASE</spring.version>
<jetty.version>9.2.15.v20160210</jetty.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jsp</artifactId>
<version>${jetty.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
<build>
<finalName>springmvc.jetty</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.test.jettyemb.Lauhcher</mainClass>
</transformer>
</transformers>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
启动main类
package com.test.jettyemb;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.webapp.WebAppContext;
public class Launcher {
public static final int PORT = 8080;
public static final String CONTEXT = "/";
private static final String DEFAULT_WEBAPP_PATH = "src/main/webapp";
/**
* 创建用于开发运行调试的Jetty Server, 以src/main/webapp为Web应用目录.
*/
public static Server createServerInSource(int port, String contextPath) {
Server server = new Server();
// 设置在JVM退出时关闭Jetty的钩子。
server.setStopAtShutdown(true);
// 这是http的连接器
ServerConnector connector = new ServerConnector(server);
connector.setPort(port);
// 解决Windows下重复启动Jetty居然不报告端口冲突的问题.
connector.setReuseAddress(false);
server.setConnectors(new Connector[] { connector });
WebAppContext webContext = new WebAppContext(DEFAULT_WEBAPP_PATH, contextPath);
// webContext.setContextPath("/");
webContext.setDescriptor("src/main/webapp/WEB-INF/web.xml");
// 设置webapp的位置
webContext.setResourceBase(DEFAULT_WEBAPP_PATH);
webContext.setClassLoader(Thread.currentThread().getContextClassLoader());
server.setHandler(webContext);
return server;
}
/**
* 启动jetty服务
*
* @param port
* @param context
*/
public void startJetty(int port, String context) {
final Server server = Launcher.createServerInSource(PORT, CONTEXT);
try {
server.stop();
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
}
public static void main(String[] args) {
new Launcher().startJetty(8080, "");
}
}
测试
cmd到根目录
打包 mvn package
运行 java -jar name-version.jar
参考网址
http://www.geedoo.info/springmvc-jetty-embedded-detailed-use.html
另外其他一个提供了一个springmvc+jetty的例子再github上
http://www.cnblogs.com/yjmyzz/p/jetty-embed-demo.html
https://github.com/yjmyzz/jetty-embed-demo
上述例子出现打包目录结构释放加载问题,后面自己修改jetty-embed-demo后可以成功运行
附上例子下载
相关推荐
基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis...
基于SpringMVC+Spring+MyBatis+Maven项目案例源码+数据库.zip 基于SpringMVC+Spring+MyBatis+Maven项目案例源码+数据库.zip 基于SpringMVC+Spring+MyBatis+Maven项目案例源码+数据库.zip 基于SpringMVC+Spring+...
springmvc + spring + mybatis + maven整合配置文件
通过SpringMvc+Spring+Mybatis+Maven整合,学习用maven搭建框架
Spring+SpringMVC+Mybatis+Velocity+Maven整合
springmvc+spring+maven
springmvc+spring+mybatis+maven示例
一个相对简单但比较完整的基于spring+springmvc+mybatis+mysql+maven+eclipse的工程实例,适合初学者参考
该项目主要技术架构包括:spring+springMVC+Mybatis+MYSQL+Redis+Maven,适合初学者,简单易懂。
基于SpringMVC+Spring+HBase+Maven搭建的Hadoop分布式云盘系统.zip 语言:Java 框架:springMVC 数据库:HBASE 可以作为毕业设计
springMVC+spring+mybatis+maven整合框架
spring+springmvc+mybatis+mysql+maven项目整合 内附sql文件,前端用的是简单的js和jstl标签
6、映入SpringMVC:配置SpringMVC配置信息。-->配置文件:spring-mvc.xml(扫描controller) 7、配置web.xml容器。-->配置文件:web.xml 8、测试三个框架的整合:Maven编译打包部署服务器,测试。
SpringMvc Spring Mybatis Maven 注解方式
SpringMvc+Spring+MyBatis+Maven整合视频源码+数据库
SpringMvc+Spring+MyBatis+Maven项目整合,适合在学SSM的人
SpringMVC+Spring+mybatis+maven整合视频教程源码+视频地址.rar SpringMVC+Spring+mybatis+maven整合视频教程源码+视频地址
基于maven+springmvc+redis+mybatis整合案例框架,主要实现redis的读取案例