一. 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




更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  7. Android(安卓)类加载模式
  8. 使用Android(安卓)Studio进行cocos2d-x开发
  9. Android-显示传感器的值

随机推荐

  1. Android中Image的简单实例详解
  2. Android(安卓)- SurfaceView + MediaPlay
  3. Android开发实践:自定义带消息循环(Looper)
  4. Android本地层基础结构
  5. Android中通过Messenger与Service实现进
  6. android 常用测试框架
  7. android 自定义AlertDialog 与Activity相
  8. 《Qt on Android核心编程》目录
  9. Android如何完全调试framework层代码
  10. 浅入浅出 Android(安卓)安全:第三章 Andro