当前位置: 首页 > 工具软件 > i-jetty > 使用案例 >

编译说明文档之i-jetty

商绍元
2023-12-01

什么是Maven


Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.或许你对项目对象模型不是很了解,其实它本质上就是描述项目的各个方面。
其中最重要的文件就是pom.xml(Project Object Model)文件,下面列出i-jetty项目的pom.xml文件的少许部分:

<pre>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
     <groupId>org.mortbay.ijetty</groupId>
     <artifactId>ijetty-parent</artifactId>
     <version>3.1</version>
   </parent>
</pre>

很明显:上述xml文件代码段指明了pom.xml文件的格式及其项目的Id,版本信息,关于maven的更多信息参考 http://maven.apache.org/

什么是i-jetty

i-jetty是在Google Android手机平台上的jetty(开源的servlet容器) 类似与tomcat webserver等web容器,不过它是基于手机平台的,利用它,可以访问android提供的api.
i-jetty官方网址:http://code.google.com/p/i-jetty/ 可以在上面查看关于i-jetty的各种资料。

下载i-jetty项目

下载地址:http://code.google.com/p/i-jetty/downloads/list
下载其源代码:http://code.google.com/p/i-jetty/source/checkout 按照说明,在终端可以利用checkout命令check下来,例如:
svn checkout http://i-jetty.googlecode.com/svn/trunk/ i-jetty-read-only


下载maven

下载maven地址:http://maven.apache.org/download.html  

下载完成之后,解压到某个路径下并添加到path中去:
@ export MAVEN_HOME=~/opt/apache-maven-3.0.4/bin
export PATH=$PATH:$MAVEN_HOME@
设置成功后可以在终端桥入以下命令:mvn -v 命令 查看当前的maven的版本信息及其状态等等。

编译i-jetty项目


编译可以在终端用命令和在开发工具端eclipse下进行,为了方便,采用在终端进行:eclipse下编译方法:http://orgcent.com/m2eclipse-maven-android-ijetty/
下载好源代码之后,可以发现在/home路径下有一个i-jetty-read-only文件夹,下面分别有 console。i-jetty.example-webapps文件夹,进入i-jetty项目,发现其中有
之前说的pom。xml文件 它描述了项目的整个信息。进入i-jetty-ui下面的文件,修改其中的pom.xml文件中的:

<pre>
 <groupid>com.jayway.maven.plugins.android.generation2</groupid>
 <artifactid>maven-android-plugin</artifactid>
 <version>2.9.0-beta-5</version>
</pre>

将maven-android-plugin改为android-maven-plugin,2.9.0-beta-5改为3.0.0
返回到i-jetty路径,在终端执行:mvn clean install 如果没出现异常,那么就可以在i-jetty/i-jetty-ui/target/下面发现i-jetty.apk了,以后我们就可以修改i-jetty的源代码,然后进行
编译,达到我们实现的效果。编译console项目类似,具体参考:http://code.google.com/p/i-jetty/w/list 该处有详细的步骤以及说明。

编译过程中遇到的问题?

<pre>
[ERROR] Cannot find required method java.lang.NoSuchMethodException: com.android.sdklib.build.ApkBuilder.addNativeLibraries(java.io.File, java.lang.String)
主要时sdk版本和maven版本差异问题,解决办法参见:http://orgcent.com/m2eclipse-maven-android-ijetty/

[ERROR]Maven build failure on Linux – “Unable to locate the Javac Compiler in /usr/lib/jvm/java-6-openjdk/jre/../lib/tools.jar”
主要是没在指定的路径发现jdk的工具,详细解决参考:http://blog.droidzone.in/2012/03/27/maven-build-failure-on-linux-unable-to-locate-the-javac-compiler-in-usrlibjvmjava-6- openjdkjre-libtools-jar/
</pre>

注意:

1.在将该项目import到eclipse中的时候,选择的是maven project
2.安装该web项目到i-jetty容器中,实际上就是将该war包或者解压后的文件拷贝到/mnt/sdcard/i-jetty/webapp/的路径下
3.可以将web项目放到i-jetty的res/raw路径下,就可以直接在i-jetty项目中进行安装web项目
 

 类似资料: