[Maven问题总结]Jetty9的Maven配置——嵌入式服务器

不多说,直接上配置代码:

1、pom.xml

<dependencies>
		<dependency>
		  	<groupId>org.eclipse.jetty</groupId>
		  	<artifactId>jetty-jsp</artifactId>
		  	<version>9.1.3.v20140225</version>
		  	<type>pom</type>
		</dependency>
		<dependency>
		  	<groupId>org.eclipse.jetty</groupId>
		   	<artifactId>jetty-webapp</artifactId>
		   	<version>9.1.3.v20140225</version>
		   	<scope>provided</scope>
		</dependency>
	</dependencies>



2.WebServer.java,这里只给出最近本的代码,可以根据API文档进行很多设置,也可以通过jetty.xml配置。


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

public class WebServer {

    public static void main(String[] args) throws Exception{
	String projectPath = System.getProperty("user.dir");
	String[] fileName = projectPath.split("\\\\");
	// 工程名称
	String projectName = fileName[fileName.length - 1];
	// web资源路径
	String WebRoot = "src/main/webapp";
	// 端口号
	int port = 8080;
       Server server = new Server(port);
       WebAppContext webapp = new WebAppContext();
       webapp.setDefaultsDescriptor("src/main/resources/webdefault.xml");
       webapp.setDescriptor("src/main/webapp/web.xml");
       webapp.setContextPath("/"+projectName);
       webapp.setWar(WebRoot);
       server.setHandler(webapp);
       server.start();
       server.join();
    }
}




3.开发中会遇到静态文件被锁的情况,上面代码已加入相关设置,但是仍需要将webdefault.xml文件复制到工程中。

webdefault.xml修改方式:在jetty-webapp.jar中找到该文件,useFileMappedBuffer改为false即可。




你可能感兴趣的:(maven,jetty,Jetty9,静态文件锁)