Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I had created a maven build file for i-jetty webapps some time back. Following is the directory structure of the webapp sources:</p> <pre><code> sampleapp/ |-- pom.xml `-- src `-- main |-- java | `-- {java sources} `-- webapp |-- {html js css sources} `-- WEB-INF `-- web.xml </code></pre> <p>On the command line export two environment variables:</p> <pre><code> $&gt;export ANDROID_HOME=/path/to/android/sdk $&gt;export ANDROID_PLATFORM=7 OR 8 or whatever platform you are using </code></pre> <p>After you have done that, type: (Assumes that you have maven 2.1+ installed)</p> <pre><code> $&gt;mvn package </code></pre> <p>This will generate the sampleapp.war file in the target directory. Which can be deployed in i-jetty. Below is the pom.xml. Change the artifactId and name in pom.xml to suit your needs. </p> <pre><code> &lt;project xmlns="http://maven.apache.org/POM/4.0.0" 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"&gt; &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt; &lt;groupId&gt;sampleapp&lt;/groupId&gt; &lt;artifactId&gt;sampleapp&lt;/artifactId&gt; &lt;packaging&gt;war&lt;/packaging&gt; &lt;name&gt;sampleapp&lt;/name&gt; &lt;description&gt;Sample Web application&lt;/description&gt; &lt;version&gt;1.0-a1&lt;/version&gt; &lt;properties&gt; &lt;android.home&gt;${env.ANDROID_HOME}&lt;/android.home&gt; &lt;android.platform.version&gt;${env.ANDROID_PLATFORM}&lt;/android.platform.version&gt; &lt;android.platform&gt;platforms/android-${android.platform.version}&lt;/android.platform&gt; &lt;android.framework.aidl&gt;${android.home}/${android.platform}/framework.aidl&lt;/android.framework.aidl&gt; &lt;android.jar&gt;${android.home}/${android.platform}/android.jar&lt;/android.jar&gt; &lt;android.tools.aapt&gt;${android.home}/${android.platform}/tools/aapt&lt;/android.tools.aapt&gt; &lt;android.tools.dx&gt;${android.home}/${android.platform}/tools/dx&lt;/android.tools.dx&gt; &lt;android.tools.apkbuilder&gt;${android.home}/tools/apkbuilder&lt;/android.tools.apkbuilder&gt; &lt;android.tools.aidl&gt;${android.home}/${android.platform}/tools/aidl&lt;/android.tools.aidl&gt; &lt;/properties&gt; &lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt; &lt;artifactId&gt;servlet-api&lt;/artifactId&gt; &lt;version&gt;2.5-20081211&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;android&lt;/groupId&gt; &lt;artifactId&gt;android&lt;/artifactId&gt; &lt;version&gt;2.2_r1&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;/dependencies&gt; &lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt; &lt;artifactId&gt;build-helper-maven-plugin&lt;/artifactId&gt; &lt;version&gt;1.4&lt;/version&gt; &lt;executions&gt; &lt;execution&gt; &lt;phase&gt;generate-sources&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;add-source&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;sources&gt; &lt;source&gt;${project.build.directory}/generated-sources&lt;/source&gt; &lt;/sources&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;/executions&gt; &lt;/plugin&gt; &lt;plugin&gt; &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; &lt;artifactId&gt;maven-dependency-plugin&lt;/artifactId&gt; &lt;executions&gt; &lt;execution&gt; &lt;id&gt;unpack-dependencies&lt;/id&gt; &lt;phase&gt;generate-sources&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;unpack-dependencies&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;failOnMissingClassifierArtifact&gt;false&lt;/failOnMissingClassifierArtifact&gt; &lt;excludeArtifactIds&gt;servlet-api,android&lt;/excludeArtifactIds&gt; &lt;excludeTransitive&gt;true&lt;/excludeTransitive&gt; &lt;outputDirectory&gt;${project.build.directory}/generated-classes&lt;/outputDirectory&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;/executions&gt; &lt;/plugin&gt; &lt;plugin&gt; &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt; &lt;artifactId&gt;exec-maven-plugin&lt;/artifactId&gt; &lt;version&gt;1.1&lt;/version&gt; &lt;executions&gt; &lt;!-- Generate any aidl interfaces --&gt; &lt;!-- &lt;execution&gt; &lt;id&gt;aidl-generate&lt;/id&gt; &lt;phase&gt;generate-sources&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;exec&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;executable&gt;${android.tools.aidl}&lt;/executable&gt; &lt;arguments&gt; &lt;argument&gt;-I${basedir}/src/&lt;/argument&gt; &lt;argument&gt;-o${project.build.directory}/generated-sources/&lt;/argument&gt; &lt;argument&gt;-p${android.framework.aidl}&lt;/argument&gt; &lt;argument&gt;${basedir}/src/main/java/com/mycompany/MyService.aidl&lt;/argument&gt; &lt;/arguments&gt; &lt;/configuration&gt; &lt;/execution&gt; --&gt; &lt;!-- Convert the compiled classes into a clases.dex. --&gt; &lt;execution&gt; &lt;id&gt;generate-dex&lt;/id&gt; &lt;phase&gt;process-classes&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;exec&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;executable&gt;${android.tools.dx}&lt;/executable&gt; &lt;arguments&gt; &lt;!--&lt;argument&gt;-JXmx1024M&lt;/argument&gt;--&gt; &lt;argument&gt;--dex&lt;/argument&gt; &lt;!-- argument&gt;\-\-verbose&lt;/argument --&gt; &lt;argument&gt;--core-library&lt;/argument&gt; &lt;argument&gt;--output=${project.build.directory}/classes.dex&lt;/argument&gt; &lt;argument&gt;--positions=lines&lt;/argument&gt; &lt;argument&gt;${project.build.directory}/classes/&lt;/argument&gt; &lt;!-- uncomment this line if you have any generated classes such as aidl interfaces --&gt; &lt;!-- argument&gt;${project.build.directory}/generated-classes/&lt;/argument --&gt; &lt;/arguments&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;/executions&gt; &lt;/plugin&gt; &lt;plugin&gt; &lt;artifactId&gt;maven-antrun-plugin&lt;/artifactId&gt; &lt;executions&gt; &lt;execution&gt; &lt;id&gt;copydex&lt;/id&gt; &lt;phase&gt;process-classes&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;run&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;tasks&gt; &lt;mkdir dir="${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/lib"/&gt; &lt;jar basedir="${project.build.directory}" update="true" includes="classes.dex" destfile="${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/lib/classes.zip"/&gt; &lt;/tasks&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;/executions&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/build&gt; &lt;/project&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload