安装maven

来源:互联网 发布:欧迪臣bit one软件 编辑:程序博客网 时间:2024/05/18 03:04

安装Maven

1. 下载解压缩Maven3.0.3,放在某一个目录下

我的目录为:D:\study\greensoft\apache-maven-3.0.3

 

2. 确认JDK环境已经配置好,JAVA_HOME环境变量配置好。

 

3. 配置环境变量M2_HOME为Maven的方目录

我的配置为:M2_HOME=D:\study\greensoft\apache-maven-3.0.3

 

4. 增加Path配置到Maven的bin目录:如...;%M2_HOME%\bin;

 

打开Dos,输入: mvn -v 结果显示正常表示Maven安装完成

 

配置Maven

配置Maven包括两点:

一点是Maven的本地仓库目录设置,默认仓库目录是${user}/.m2/repository,这里有很多不便之处,如该目录在C盘,我有时喜欢还原一下系统,忘记备份就不好了; 同时这个仓库只对当前用户有效,其它用户又会在自己的用户目录下建库,那就浪费了,这点对个人PC倒是没什么。总之这个目录最好改在一个安全公用的目录里。

 

第二点,就是Maven的全局配置文件M2_HOME/conf/settings.xml,需要修改一下,以便更好的支持一些功能。

 

这两点的修改都只需要修改settings.xml文件就行了:

 

 

Xml代码   eclipse
  1. <!-- localRepository  
  2.  设置本地库的路径:我直接修改在Maven主目录下的repository目录中  
  3. -->  
  4. <localRepository>${env.M2_HOME}/repository</localRepository>  
  5.   
  6. <proxies>  
  7.   <!-- proxy  
  8.   设置网络连接的代理,现在的公司一般都会通过代理上网  
  9.    -->  
  10.   <proxy>  
  11.     <id>我的公司</id>  
  12.     <active>true</active>  
  13.     <protocol>http</protocol>  
  14.     <username></username>  
  15.     <password></password>  
  16.     <host>10.1.2.188</host>  
  17.     <port>80</port>  
  18.     <nonProxyHosts>local.*</nonProxyHosts>  
  19.   </proxy>  
  20. </proxies>  
  21.   
  22. <pluginGroups>  
  23.   <!-- pluginGroup  
  24.    在调试maven的web程序时可能会用的jetty插件,以后就可以直接使用mvn jetty:run 等命令了  
  25.   -->  
  26.   <pluginGroup>org.mortbay.jetty</pluginGroup>  
  27. </pluginGroups>  
 

安装Maven的Eclipse插件m2e

 

1. 登陆Apache Maven的官方网站,找到Eclipse IDE的插件安装地址,如2011-10-13可用地址为:http://download.eclipse.org/technology/m2e/releases

 

2. 使用Eclipse的在线插件安装安装该插件

 

打开eclipse,选择new-->Project...可以看到多了一个Maven组,下有Maven Project等,说明插件安装成功。

 

配置Maven插件m2eclipse

 

1. 配置Maven的版本。在安装插件后,eclipse默认使用的是插件内嵌的maven,版本和使用的配置文件与我们在Dos中使用的是不一致的,这样就会出现很多问题。比如我们已经换了本地仓库,插件还会使用默认的位置作为本地仓库。

打开 preference-->Maven-->Installations 

点击Add...,选择我们自己安装的Maven目录,增加条目后,将其打勾(选择上)。

这时我们发现下面的一个条框里的全局配置文件也修改成了我们自己的Maven目录下的settings.xml文件。

 

2. 修改eclipse的默认JRE。在eclipse中运行maven需要JDK的支持, 如 mvn compile命令。eclipse默认使用JRE下的JVM程序,所以需要修改默认的JVM程序

打开 preference-->Java-->Installed JREs

点击Add..., 选择我们自己安装的JDK(不是JRE),增加条目后打勾。

这里如果不修改在运行maven时会报JDK错误。

 

MyEclipse的Maven配置

 

1. 在MyEclipse8.5中已经内置了Maven功能,通过以下方式激活:

打开 preference-->MyEclipse-->Maven4MyEclipse

勾选激活复选框(Enable Maven4MyEclipse features)。

2. 在该主题下配置Maven,这一个与上一节的做法一样,包括installations, 和 settings.xml

 

MyEclipse中使用Maven的webapp工程

 

1. 用Maven构建一个webapp工程

具体做法就细说了,可能每个有所不同,可以在基本的maven工程里添加src/main/webapp目录,然后在该目录下构建web相关目录和文件,如WEB-INF和web.xml等。

我这里使用命令:mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp。然后按提示输入参数建立maven的webapp。

 

2. 用MyEclipse的import导入这个工程

有两种导入方式:

1> 先在工程目录下运行: mvn eclipse:eclipse。生成eclipse的工程文件,然后使用MyEclipse导入工程

2> 直接使用MyEclipse导入,导入时选择"Existing Maven Project"。---该方法在导入工程时会执行很多操作,特别有一个是更新maven库索引的操作,因为我的MyEclipse连网配置不好,所以很慢。这里可以取消,然后右键工程-->Maven4MyEclipse-->Update project configuration。

 

3. 设置工程,让其成为MyEclipse的Web Project工程

在刚导入工程时,MyEclipse只会把工程当做普通的java工程,而MyEclipse强大之处就在于它通做web工程,增加很多新特性。所以这里就需要设置MyEclipse了。

选择Maven工程--->MyEclipse--->Project Cababilites--->Add Web Project Capabilites

在弹出的菜单中选择"Web Root Directory"为"/src/main/webapp"

后面的操作就很简单了,跟着提示就行。

 

OK一个MyEclipse+Maven的Web工程就搭好了,既可以使用MyEclipse的Web调试和开发,也可以使用Maven的依赖和打包。

注意:对设置的修改可以打开工程的属性面板,特殊的都在MyEclipse中。


Maven 环境的配置

     现在Java新架构的不断出现,例如Struts,Spring,Hibernate等,项目的配置文件的增多,给开发人员带来很大麻烦。在实际的开发当中,Myeclipse中的project越来越庞大,所依赖的第三方Jar包越来越多,这显得Project很臃肿,给项目管理带来了很大不便,尤其实在一些大些项目。为了解决上述问题,Apache开源组织 早在几年前就发布了Maven,它适用于大的Java项目。开发中国移动的项目时,记得J2EE项目组都是采用这种方式管理项目的。

     现在开始介绍配置Maven环境,我用的系统及环境是Win7 ,Jdk1.6 ,Myeclipse7.5。

     首先要安装Jdk1.6 和 Myeclipse7.5 ,至于怎么安装这两个东东,我就不详细说了。

     1. Maven有一个重要的文件"settings.xml“,这个文件来源于apache-maven-2.0.8/conf/ 下,要放在windows下, Win7和Winxp还是有点不一样 , Win7 ---C:\Users\用户名\.m2  ,  Winxp ---C:\Documents and Settings\用户名\.m2 。

     2. 设置Maven的环境变量,基本上和设置Jdk环境变量相似。

         首先设置MAVEN_HOME:

            maven5

         再加入Path

            maven6

         

     3. 修改”settings.xml” 文件,在这个文件中找到<localRepository>d:/work</localRepository>这一行,进行修改。这一行代表了Maven的Jar包仓库的位置。work下放的都是项目所用到的jar包,每个Project都可以共用一个work。

     4. 我装的是Myeclipse7.5 本身自带Maven插件。如果使用低版本的Myeclipse需要安装插件,在help菜单中选择software updates,选择find and install,选择search for new features to install-选择new remote site。写入 name:maven URL:http://m2eclipse.codehaus.org/update/ 去下载相关jar包和插件。

     5. 在Myeclipse中windows-perferences中,在下图的位置上,查看users settings的路径是否正确。

 

         maven2

 

         maven

 

     6. 建立Maven的project,File--new—other—Java Maven Project

        maven3

         maven4

 

     7.  然后打开project里pom.xml文件,

<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.0http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>maventest</groupId>
     <artifactId>maventest</artifactId>
     <packaging>jar</packaging>
     <version>0.0.1-SNAPSHOT</version>
     <name>Maven Quick Start Archetype</name>
     <url>http://maven.apache.org</url>
     <dependencies>
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
         <scope>test</scope>
      </dependency>
  </dependencies>
</project>

我们要在这xml文件中添加Maven所依赖的Jar的名称,也就是添加<dependency></dependency>节点。

例如:添加大家常用的Struts Jar包

       <dependency>
           <groupId>org.apache.struts</groupId>
           <artifactId>struts2-core</artifactId>
           <version>2.0.11</version>
       </dependency>

 

8. 到现在为止,环境就算搞定了。接下来要教大家怎么应用Maven来打包Project为大家服务的。

    在cmd中的命令:

      a. mvn eclipse:clean         清除Project中以前的编译的东西,重新再来

      b. mvn eclipse:eclipse       开始编译Maven的Project

    在Myeclipse中的操作:

      a. 选中Maven Project 右击 在Run As中选择Maven clean

      b. 在Myeclipse中,Project—Clean  开始编译

      c. 选中Maven Project 右击 在Run As中选择Maven install

     执行完这几步,如果没发生异常,会在project里生成一个target文件夹,这个文件夹里的东西,就是Maven为你打包发布的东西。

maven集成eclipse android项目办法总结

    博客分类:
  • android
 

1.安装m2eclipse-android-integration

https://svn.codespot.com/a/eclipselabs.org/m2eclipse-android-integration/updates/m2eclipse-android-integration/

其实这个不需要安,不过下面的是必须要安装的。

 

安装maven-android-sdk-deployer

https://github.com/mosabua/maven-android-sdk-deployer

下载完后,执行:

 

Java代码  收藏代码
  1. cd mosabua-maven-android-sdk-deployer-df824df  
  2. mvn clean install  
  3.   
  4. #可选择安装:  
  5. mvn install -P 1.5  
  6. mvn install -P 1.6  
  7. mvn install -P 2.1  
  8. mvn install -P 2.2  
  9. mvn install -P 2.3.3  
  10. mvn install -P 3.0  
  11. mvn install -P 3.1  
  12. mvn install -P 3.2  
  13. mvn install -P 4.0  
  14. mvn install -P 4.0.3  

 如果报错,说明sdk没有安装完整(google api等等),要在android sdk manager里面下载完整,

如果运行正常的话,这一步操作就是将sdk的包放入到svn的本地仓库里了。

 

 

2.Create Eclipse project

 

If you already have an Android project please make sure you have created a POM for your project using version 3.0.0 or greater of the maven-android-plugin.

 

Then right-click on your project and select Configuration -> Convert to Maven Project.

 

If you are starting with a new project you can use the Maven Android archetypes to create Android projects completely within Eclipse:

 

Create a new Maven Project (File -> New -> Project... then select Maven -> Maven Project).

When prompted to Select Archetype click Add Archetype...

In the dialog that appears enter "de.akquinet.android.archetypes" for Archetype Group Id.

In Archetype Artifact Id enter "android-quickstart".

In Archetype Version enter "1.0.8" and continue.

When prompted enter your desired project group and artifact ID, version and, optionally, set the "platform" property for the Android version (defaults to '10').

Click Finish

Right-click on new project and select Maven -> Update Project Configuration.

 

 

3.Install Android Connector

Windows->Preferences->Maven->Discovery->Open Catalog->安装m2e connector for android

 

4.至此新建的项目应该不会再报错了。

 

5.配置maven插件,自动打包签名,附上我的完整的pom:

 

Xml代码  收藏代码
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.olivephone</groupId>  
  5.     <artifactId>olive-browser</artifactId>  
  6.     <version>1.0.10</version>  
  7.     <packaging>apk</packaging>  
  8.     <name>olive-browser</name>  
  9.       
  10.     <properties>  
  11.         <platform.version>2.2.1</platform.version>  
  12.     </properties>  
  13.       
  14.     <dependencies>  
  15.         <dependency>  
  16.             <groupId>com.google.android</groupId>  
  17.             <artifactId>android</artifactId>  
  18.             <version>${platform.version}</version>  
  19.             <scope>provided</scope>  
  20.         </dependency>  
  21.         <dependency>  
  22.             <groupId>com.google.android</groupId>  
  23.             <artifactId>support-v4</artifactId>  
  24.             <version>r7</version>  
  25.         </dependency>  
  26.         <dependency>  
  27.             <groupId>commons-io</groupId>  
  28.             <artifactId>commons-io</artifactId>  
  29.             <version>2.0.1</version>  
  30.         </dependency>  
  31.         <dependency>  
  32.             <groupId>org.apache.commons</groupId>  
  33.             <artifactId>commons-lang3</artifactId>  
  34.             <version>3.1</version>  
  35.         </dependency>  
  36.         <dependency>  
  37.             <groupId>org.jsoup</groupId>  
  38.             <artifactId>jsoup</artifactId>  
  39.             <version>1.6.1</version>  
  40.         </dependency>  
  41.         <dependency>  
  42.             <groupId>com.google.android</groupId>  
  43.             <artifactId>libGoogleAnalytics</artifactId>  
  44.             <version>1.0</version>  
  45.         </dependency>  
  46.     </dependencies>  
  47.           
  48.     <build>  
  49.         <plugins>  
  50.             <plugin>  
  51.                 <groupId>com.jayway.maven.plugins.android.generation2</groupId>  
  52.                 <artifactId>android-maven-plugin</artifactId>  
  53.                 <version>3.1.1</version>  
  54.                 <configuration>  
  55.                     <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>  
  56.                     <assetsDirectory>${project.basedir}/assets</assetsDirectory>  
  57.                     <resourceDirectory>${project.basedir}/res</resourceDirectory>  
  58.                     <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>  
  59.                     <sdk>  
  60.                         <platform>8</platform>  
  61.                     </sdk>  
  62.                     <undeployBeforeDeploy>true</undeployBeforeDeploy>  
  63.                 </configuration>  
  64.                 <extensions>true</extensions>  
  65.             </plugin>  
  66.   
  67.             <plugin>  
  68.                 <artifactId>maven-compiler-plugin</artifactId>  
  69.                 <version>2.3.2</version>  
  70.                 <configuration>  
  71.                     <source>1.6</source>  
  72.                     <target>1.6</target>  
  73.                     <encoding>UTF8</encoding>  
  74.                 </configuration>  
  75.             </plugin>  
  76.               
  77.             <plugin>  
  78.                 <groupId>org.apache.maven.plugins</groupId>  
  79.                 <artifactId>maven-jarsigner-plugin</artifactId>  
  80.                 <version>1.2</version>  
  81.                 <executions>  
  82.                   <execution>  
  83.                     <id>sign</id>  
  84.                     <goals>  
  85.                       <goal>sign</goal>  
  86.                     </goals>  
  87.                   </execution>  
  88.                   <execution>  
  89.                     <id>verify</id>  
  90.                     <goals>  
  91.                       <goal>verify</goal>  
  92.                     </goals>  
  93.                   </execution>  
  94.                 </executions>  
  95.                 <configuration>  
  96.                     <encoding>UTF-8</encoding>  
  97.                     <includes>  
  98.                             <include>target/${artifactId}.apk</include>  
  99.                             </includes>     
  100.                             <removeExistingSignatures>true</removeExistingSignatures>  
  101.                             <keystore>${keyFilePath}</keystore>  
  102.                     <storepass>${storePassword}</storepass>  
  103.                     <keypass>${keyPassword}</keypass>  
  104.                     <alias>${keyAlias}</alias>  
  105.                 </configuration>  
  106.             </plugin>  
  107.                 
  108.         <plugin>  
  109.                  <groupId>org.codehaus.mojo</groupId>  
  110.                  <artifactId>exec-maven-plugin</artifactId>  
  111.                  <version>1.2.1</version>  
  112.                  <executions>  
  113.                      <execution>  
  114.                          <id>zipalign</id>  
  115.                          <goals>  
  116.                              <goal>exec</goal>  
  117.                          </goals>  
  118.                          <phase>install</phase>  
  119.                          <configuration>  
  120.                              <executable>${ANDROID_HOME}/tools/zipalign</executable>  
  121.                               <arguments>  
  122.                                  <argument>-f</argument>  
  123.                                  <argument>4</argument>  
  124.                                  <argument>target/${project.build.finalName}.apk</argument>  
  125.                                  <argument>target/${project.build.finalName}-zipped.apk</argument>  
  126.                              </arguments>  
  127.                          </configuration>  
  128.                      </execution>  
  129.                  </executions>  
  130.         </plugin>  
  131.         </plugins>   
  132.     </build>  
  133.       
  134. </project>  
 

 

setting.xml

 

Xml代码  收藏代码
  1. <settings xmlns="http://maven.apache.org/POM/4.0.0"  
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0  
  4.                                http://maven.apache.org/xsd/settings-1.0.0.xsd">  
  5.   
  6. <!-- add by peirenlei here one line-->  
  7. <localRepository>D:/3rdlib/java/m2/repository</localRepository>  
  8.   
  9. <profiles>  
  10.     <profile>  
  11.         <id>sign</id>  
  12.         <activation>  
  13.             <activeByDefault>true</activeByDefault>  
  14.         </activation>  
  15.         <properties>  
  16.             <keyFilePath>E:/MyDocument/xxxx.keystore</keyFilePath>  
  17.             <storePassword>就不告诉你</storePassword>  
  18.             <keyPassword>就不告诉你</keyPassword>  
  19.             <keyAlias>就不告诉你</keyAlias>  
  20.         </properties>  
  21.     </profile>  
  22.   
  23. </profiles>  
  24. <activeProfiles>  
  25.    <activeProfile>sign</activeProfile>  
  26. </activeProfiles>  
  27.   
  28. </settings>  
 

 

特别提醒:

1.<removeExistingSignatures>true</removeExistingSignatures>这个一定要配上,我之前参考网上的都没有这一项,结果就是签名的apk里面有两个签名,一个是自己的一个是android debug的,so...

 

2.记住源代码的路径要更改为:src/main/java,否则在package的时候会抱错,并且就算不抱错,打好的包在真机上也运行不了,谨记,为这个事情,我折磨了一整天。

 

 

6.配置这这一切,接下来就是爽歪歪的时候了: 

 

Java代码  收藏代码
  1. mvn clean package  

 进入target目录,看到的mvndemo-1.0.9.apk就是已经签过名的apk,怎么?不相信,自己看看:

 

Java代码  收藏代码
  1. jarsigner -verify -verbose -certs "F:\workspace\android_workspace\mvndemo\target\mvndemo-1.0.9.apk"  
 

看到没?打印出来的信息里,是不是有自己的签名信息。

 

收工了。。。。

0 0
原创粉丝点击