您的位置:首页 > 移动开发 > Android开发

Android上web服务器i-jetty搭建(源码编译)

2013-04-19 16:33 525 查看
一. Jetty简介

Jetty是一个用Java实现的开源的Http和Web服务器,包括HTTPserver, HTTP client和javax.servlet
container。

Jetty的应用非常广泛,包括:

大型集群系统,如Yahoo Hadoop Cluster(http://developer.yahoo.net/hadoop/
云计算服务,如Google AppEngine(http://code.google.com/appengine/
SaaS(Software-as-a-service)系统,如Yahoo! Zimbra(http://www.zimbra.com/
应用程序服务器,如Apache Geronimo(http://geronimo.apache.org/)
应用框架,如GWT(http://code.google.com/webtoolkit/)
工具,如 Eclipse IDE(http://www.eclipse.org/)
移动设备,i-jetty(http://code.google.com/p/i-jetty/)

二. i-Jetty源码编译

1. maven安装和配置(编译i-jetty过程中会用到maven)

(1)maven下载:http://maven.apache.org/download.html

(2)解压maven,如D:\;

(3)设置maven环境变量(配置maven环境之前要确定配置好了jdk的环境)

maven_home=D:\apache-maven-2.2.1

PATH=%maven_home%\bin

(4)测试maven是否成功:mvn -v

关于maven配置可以参考:http://www.cnblogs.com/smile2010/archive/2011/11/22/2259535.html
http://www.cnblogs.com/lilihuang/archive/2012/07/28/2613204.html
2. 从官网上下载i-jetty源码:http://code.google.com/p/i-jetty/downloads/list;

或者svn下载:http://i-jetty.googlecode.com/svn/trunk/i-jetty。

3. 下载源码解压后,里面有两个文件夹i-jetty-server与i-jetty-ui还有一个pom.xml文件;
命令行模式下,进入pom.xml所在目录,执行命令: mvn clean install,这样就下载了一堆jar,然后会自动编译,当然通常会是 BUILD FAILURE的现象。下载的jar包一般会保存在C:\Users\你的名字\.m2 目录下。

4. 在eclipse中创建i-jetty的android项目,将下载的i-jetty源码覆盖进去;

5. 将下面目录下的 jar引入到i-jetty项目的libs中:C:\Users\账户名\.m2\repository\org\eclipse\jetty,还需要servlet-api-2.5.jar。如果下载文件夹中没有的话可以百度一下。

主要包含



因为这些jar包里面会有about.html这个文件,所以导致编译出错,这时就要逐个删除了。

6. 编译并运行。

三. web项目发布到设备上去

因为android上的java虚拟机不能直接解释执行.class文件,所以首先需要把web项目中的.class文件和.jar文件转换成虚拟机能识别的.dex文件

这里假设web项目的目录在:E:\demo

1. 需要将WEB-INF/classes目录和lib目录下的文件,用dx命令处理成classes.dex并放到lib目录下。

dx.bat --dex --output=E:\demo\WEB-INF\lib\classes.zip E:\demo\WEB-INF\classes E:\demo\WEB-INF\lib

2. 打成war包

cd E:\demo

jar -cvf demo.war *.*

3. 生成classes.zip后,可以将原先的.class和.jar删除掉。

4. 通过i-jetty的download功能,把war下载到设备上去,

也可以直接把demo.war放到/sdcard/jetty/webapps/目录下。

5. 启动i-jetty服务器。

四. 参考资料

1. http://www.cnblogs.com/java-koma/articles/2341791.html
2. http://blog.csdn.net/feifei454498130/article/details/8070254
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: