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

一. Jetty简介

Jetty是一个用Java实现的开源的HttpWeb服务器,包括HTTPserver, HTTP clientjavax.servlet container

Jetty的应用非常广泛,包括:
  • 大型集群系统,如Yahoo Hadoop Clusterhttp://developer.yahoo.net/hadoop/
  • 云计算服务,如Google AppEnginehttp://code.google.com/appengine/
  • SaaS(Software-as-a-service)系统,如Yahoo! Zimbrahttp://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




你可能感兴趣的:(环境搭建,Android)