本文原创,转载请注明出处:http://blog.csdn.net/feifei454498130/article/details/8070254
源码下载地址:http://download.csdn.net/detail/feifei454498130/5487845
今天很开心,找到自己想要的一个开源android web服务器---i-jetty
至于在android 里开发一个web服务器有什么作用,这就见仁见智了,至少我想到很多好玩的东西。
以下内容参考http://www.cnblogs.com/java-koma/articles/2341791.html 的博客
i-jetty的项目地址:http://code.google.com/p/i-jetty/
下载源码解压后,你会发现里面有两个文件夹i-jetty-server与i-jetty-ui还有一个pom.xml文件,(本人使用的是i-jetty3.1的源码)
一看到pom.xml就知道接下来要干什么了吧,如果没有mvn命令的就记得配置apache-maven环境了
用命令行输入:
- mvn clean install
这样就下载了一堆jar然后会自动编译,当然通常会是 BUILD FAILURE的现象,这没关系,用eclipse导入i-jetty-ui这个android项目,
你会发现有一堆报错,这是缺少jar包的现象,那我们就去找刚刚mvn下载回来的jar包,一般mvn pom下来的文件默认放在
- C:\Users\你的名字\.m2
大概找到以下这些包,然后复制到项目的libs目录下
因为这些jar包里面会有about.html这个文件,所以导致编译出错,这时就要逐个打个删除了。
然后编译运行吧。
将web项目发布到设备上去。参照(http://code.google.com/p/i-jetty/wiki/DownloadableWebapps)
因为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服务器。
源码下载地址:http://download.csdn.net/detail/feifei454498130/5487845