1. 程式人生 > >Android上web伺服器i-jetty搭建(原始碼編譯)

Android上web伺服器i-jetty搭建(原始碼編譯)

一. Jetty簡介

Jetty是一個用Java實現的開源的HttpWeb伺服器,包括HTTPserver, HTTP clientjavax.servlet container

Jetty的應用非常廣泛,包括:

二. i-Jetty原始碼編譯

1. maven安裝和配置(編譯i-jetty過程中會用到maven)

(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

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