您的位置:首页 > 编程语言 > Java开发

maven 学习笔记(二)创建一个简单的 eclipse+android+maven 工程

2012-02-21 14:52 706 查看
原贴地址:http://www.cnblogs.com/luhouxiang/archive/2011/08/29/2158096.html

因为拿到的工程本身就带有maven控制,但怎样创建一个android工程,并且带有maven控制,一直是困扰我的问题。

经过在网上的搜索终于有了进展。

1、首先需要解决一个问题:原型插件如何知道相关的原型呢?

http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html中给出了解释。



2、另外一个网上提供了mavenandroid插件,使得我们可以直接利用eclipse生成带有maven控制的android程序。

https://github.com/akquinet/android-archetypes/wiki/



3、我们要生成的是一个简单的android带maven控制的程序,android-quickstart-archetype类型即可满足我们的需要。点击后进去,发现此种类型提供了相关参数:

mvnarchetype:generate\


-DarchetypeArtifactId=android-quickstart\


-DarchetypeGroupId=de.akquinet.android.archetypes\


-DarchetypeVersion=1.0.5\


-DgroupId=your.company\


-DartifactId=my-android-application


4、这儿有几样东西很重要,groupid,artifactid,version,其中version可能会有所更新,请到如下网站查找最新的version(也就是我们常说的maven中央库)

http://search.maven.org/

将android-quickstart输入即可查到最新的版本,我此时查到的版本已经更新至1.0.6

准备工作做完,现在可以工作了。







创建一个最简单的带maven控制android工程

1、打开eclipse,通过工具newproject出现如下窗口:






2、选中MavenProject,点击Next,然后保持默认选项,再点击next,弹出如下窗口






3、在过滤器中输入android,如果你已经有这样的插件,将会显示出来,否则就需要通过AddArchetype按钮进行添加






3-1、因为我之前已经安装了这三个插件,因此输入过滤器后直接就有了,如果系统没有找到android-quickstart插件,则需点击AddArchetype,弹出如下窗口,然后将所需要的插件的groupid,artifactid及版本号输入进去,根据准备工作中提及,分别是:

de.akquinet.android.archetypes

android-quickstart

1.0.6

如下图所示:






4、点击OK后,系统会去寻找相关的插件,然后选中此插件,再次点击Next,依次填入新工程的groupid,artifactid,package,如下图所示:




最后点击Finish,交由系统自动生成。生成后实际上是一个最简单的带maven控制的android程序,运行后显示"Hellostudy!”



pom.xml如下所示(根据个人配置,可能会稍有不同)

<?xmlversion="1.0"encoding="UTF-8"?>

<projectxmlns="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'target='_blank'>http://maven.apache.org/maven-v4_0_0.xsd">[/code]
<modelVersion>4.0.0</modelVersion>

<groupId>com.szkingdom</groupId>

<artifactId>study</artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>apk</packaging>

<name>study</name>


<dependencies>

<dependency>

<groupId>com.google.android</groupId>

<artifactId>android</artifactId>

<version>2.1.2</version>

<scope>provided</scope>

</dependency>

</dependencies>


<build>

<plugins>

<plugin>

<groupId>com.jayway.maven.plugins.android.generation2</groupId>

<artifactId>maven-android-plugin</artifactId>

<version>2.8.4</version>

<configuration>

<androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>

<assetsDirectory>${project.basedir}/assets</assetsDirectory>

<resourceDirectory>${project.basedir}/res</resourceDirectory>

<nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>

<sdk>

<platform>7</platform>

</sdk>

<deleteConflictingFiles>true</deleteConflictingFiles>

<undeployBeforeDeploy>true</undeployBeforeDeploy>

</configuration>

<extensions>true</extensions>

</plugin>


<plugin>

<artifactId>maven-compiler-plugin</artifactId>

<version>2.3.2</version>

<configuration>

<source>1.6</source>

<target>1.6</target>

</configuration>

</plugin>

</plugins>

</build>

</project>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: