例子包括的子模块有:一个java工程,一个android 库工程(打包为aar),一个Android 项目
一、首先创建一个简单的空maven工程demo,创建流程如下图:
1、
2.
3.
二、创建一个java工程utils,创建流程如下图:
1、
2.
3.
3.
4.
5.
6.pom.xml文件内容如下:
<?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>
<parent>
<groupId>com.special.demo</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.special.demo.utils</groupId>
<artifactId>utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>utils</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}-${project.version}</finalName>
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<executions>
<execution>
<phase>compile</phase>
</execution>
</executions>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<configuration>
<!-- <finalName>${project.build.name}</finalName> -->
<attach>true</attach>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- clean插件 -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>${project.build.directory}</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<!-- 不把pom.xml打入jar中 -->
<addMavenDescriptor>false</addMavenDescriptor>
<manifestFile>
${basedir}/src/main/META-INF/MANIFEST.MF
</manifestFile>
<manifest>
<!-- <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> -->
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<!-- 打包混淆 -->
<profile>
<id>proguard</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<project.build.release>false</project.build.release>
<project.build.obfuscate>true</project.build.obfuscate>
</properties>
<build>
<!-- <filters> <filter>src/main/resources/env-debug.properties</filter>
</filters> -->
<plugins>
<plugin>
<groupId>com.pyx4me</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.4-SONATYPE</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<obfuscate>${project.build.obfuscate}</obfuscate>
<proguardInclude>${basedir}/proguard-project.txt</proguardInclude>
<release>${project.build.release}</release>
<libs>
<!-- <lib>libs/commons-lang-2.4.jar</lib> <lib>libs/commons-lang-2.4.jar</lib> -->
</libs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- 上线发布(不混淆jar) -->
<id>release</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<project.build.obfuscate>false</project.build.obfuscate>
<project.build.release>true</project.build.release>
</properties>
<build>
<!-- <filters> <filter>src/main/resources/env-release.properties</filter>
</filters> -->
<plugins>
</plugins>
</build>
</profile>
</profiles>
</project>
三、创建一个android工程textviewsdk,创建流程如下图:
1、
2.
3.
4.
5.pom.xml文件内容如下:
<?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>
<parent>
<artifactId>demo</artifactId>
<groupId>com.special.demo</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.special.demo.view</groupId>
<artifactId>textviewsdk</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>aar</packaging>
<name>textviewsdk</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform.version>4.1.1.4</platform.version>
<android.plugin.version>4.0.0-rc.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>
<executions>
<!-- <execution> <id>run</id> <goals> <goal>deploy</goal> <goal>run</goal>
</goals> <phase>install</phase> </execution> -->
<execution>
<id>alignApk</id>
<phase>install</phase>
<goals>
<goal>zipalign</goal>
</goals>
</execution>
</executions>
<configuration>
<assetsDirectory>${project.basedir}/assets</assetsDirectory>
<resourceDirectory>${project.basedir}/res</resourceDirectory>
<!--
<androidManifestFile>${project.build.directory}/filtered-manifest/AndroidManifest.xml</androidManifestFile>
-->
<androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
<nativeLibrariesDirectory>${project.basedir}/libs</nativeLibrariesDirectory>
<!-- <proguardConfig>proguard.cfg</proguardConfig> -->
<proguardConfig>proguard-project.txt</proguardConfig>
<proguardSkip>${project.build.proguardSkip}</proguardSkip>
<manifestDebuggable>${manifest.debuggable}</manifestDebuggable>
<release>${project.build.release}</release>
<run>
<debug>${project.build.debug}</debug>
</run>
<runDebug>${project.build.runDebug}</runDebug>
<sign>
<debug>${project.build.sign.debug}</debug>
</sign>
<undeployBeforeDeploy>false</undeployBeforeDeploy>
<mergeManifests>true</mergeManifests>
</configuration>
</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>
四、按前面的流程创建一个android工程apptest,创建后整个项目结构图如下:
五、demo地址下载链接地址如下:
https://github.com/spring5555/mvn-android-simple-demo5