Maven(二)——eclipse使用Maven创建(Java和Android)项目

来源:互联网 发布:mac中强制删除文件夹 编辑:程序博客网 时间:2024/06/14 02:45

一、使用Maven创建项目的原因如下:

        软件开发讲究代码复用,通过复用可以使工程更易维护,代码量更少..... 开发者可以通过继承,组合,函数模块等实现不同程度上的代码复用.但不知你有没有想过,软件开发也是一种工程作业,绝不仅仅是写代码,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理.....),你每天都在build,clean,签名,打包,发布,有没有想过这种过程,也可以像代码一样被描述出来, 也可以被复用。

        详见 知乎《如何通俗地理解 Gradle?》:http://www.zhihu.com/question/30432152

        Gradle也是基于Maven的,所以道理都是一样的。

二、eclipse创建Maven项目

1、File -> New Project -> Project -> Maven Project


2、之后选择 Use Default Workspace Location(其实这个路径是documents and settings\用户名\.m2\repository)。

但如果配置了maven/conf/settings.xml中的<localRepository>标签的值得话就是那个标签的值。


3、选择模板(Archetype,原型、典型、模板、骨架)

注:这一步加载的比较慢,一开始全是空的。我还以为哪里错了,结果过了一会就自动出来了。

(1)创建Java的Maven项目


(2)创建Android的Maven项目,这里可以看到 —— 并没有 "Artifact Id" 的值为 “android-quickstart” 。


因此需要手动添加 “Add Archtype”。参考 http://www.cnblogs.com/shortboy/archive/2013/04/15/3021493.html


Archetype Group Id: de.akquinet.android.archetypes
Archetype Artifact Id:android-quickstart
Archetype Version: 1.0.6
Repository URL: (空)

注意:如果Archetype Version输入的不是具体版本号,而是 RELEASE ,Maven会自动搜索最新版的并为你更新 Archetype 列表信息。

这里最新的Archetype Version为 1.1.0



4、设定模板参数(Artifact ,人工制品、手工制品、加工品、石器)

Group Id 是项目组织的唯一标示符,一般采用“com.公司域名” 的形式,实际对应java的包结构,是main目录里java的包名。

Artifact Id 是项目的唯一标示符,实际对应项目名,也是项目根目录的名称。


5、maven的目录结构如下

(1)Java版


(2)Android版


6、pom.xml 就是 Maven的配置文件了

(1)Java版本

<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/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.chy.mavendemo</groupId>  <artifactId>MavenDemo</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>jar</packaging>  <name>MavenDemo</name>  <url>http://maven.apache.org</url>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies></project>

(2)Android版本

<?xml version="1.0" encoding="UTF-8"?><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"><modelVersion>4.0.0</modelVersion><groupId>com.chy.mavenandroiddemo</groupId><artifactId>MavenAndroidDemo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>apk</packaging><name>MavenAndroidDemo</name><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><platform.version> 4.1.1.4</platform.version><android.plugin.version>3.8.2</android.plugin.version></properties><dependencies><dependency><groupId>com.google.android</groupId><artifactId>android</artifactId><version>${platform.version}</version><scope>provided</scope></dependency></dependencies><build><finalName>${project.artifactId}</finalName><pluginManagement><plugins><plugin><groupId>com.jayway.maven.plugins.android.generation2</groupId><artifactId>android-maven-plugin</artifactId><version>${android.plugin.version}</version><extensions>true</extensions></plugin></plugins></pluginManagement><plugins><plugin><groupId>com.jayway.maven.plugins.android.generation2</groupId><artifactId>android-maven-plugin</artifactId><configuration><sdk><platform>16</platform></sdk></configuration></plugin></plugins></build></project>

0 0
原创粉丝点击