问题1:Could not calculate build plan: Plugin org.apache... 不能成功创建maven项目

解决方法1:

http://repo1.maven.org/maven2这个中央仓库地址已经被屏蔽了,不能访问,所以maven用到的插件和jar下载失败,且你的电脑上的本地仓库.m2并没有下载好maven的插件等,项目自然不能正常执行maven命令。解决方法,1.如果没有私服(例如nexus),那么就把‘另外电脑中‘的本地仓库.m2目录拷贝到你的电脑上,并在maven conf settings.xml里面设置<localRepository>为.m2目录。2.有私服,就在settings.xml里面配置nexus地址,从它上面下载。

问题2:

转Maven project是生成的pom.xml文件错误——Unknown packaging:apk以及Failed to collect dependencies for xxx.xx.…….generation2:android-maven.plugin:3.5.3...

描述,因为错误没办法重现了,所以也记不太清楚具体的错误内容,不过错误提示分别在<packaging>apk</packaging>和第一行处
解决办法,添加本地库支持,因为中央库的东西有时候连接不上获取不了,所以我们使用本地的   <repositories>
      <repository>
          <id>my-internal-site</id>
          <url>file:///${env.HOME}/.m2/repository</url>
      </repository>
  </repositories>
也许是这个原因吧,我也不清楚,不过这样的确不报错了。
 
问题3:
 
pom.xml文件错误——Cannot read lifecycle mapping metadata for artifact……
描述,这个错误是在problems这个试图里看到的,指向pom.xml文件的第一行,网上查到的解决办法是删除~\.m2\repository这个文件夹,然后本地库重新从中央库下载
 
问题4:
 
执行命令mvn clean install出错——could not found tool ‘aapt’
描述,SDK里面aapt.exe是用来打包apk文件的,不过它的位置很诡异,api4是位于platforms文件夹的android-4文件夹下的tools文件夹里,而api17则是位于build-tools的17.0.0文件夹下,Maven似乎在执行命令的时候会在pom.xml文件找platform属性,如果是4,那么就去对应的platforms文件夹的andoird-4文件夹下面找aapt.exe,但是如果是10,这是找不到的,因为没有android-10\tools\aapt.exe这个文件,所以当然报错
解决办法,我们需要手动拷贝,将build-tools\17.0.0下的所有内容拷贝到android-10\tools文件夹内(需要自己创建tools文件夹)。为什么用17.0.0下的aapt.exe,下面还会说到。
 
问题5:
 
执行命令mvn clean install出错——MojoExecutionException: ANDROID-040-001: Could not execute: Command ……
描述,大致上就是说没办法执行一个aapt命令,类似于这样的一个命令无法执行
D:\Android\Android_SDK\platforms\android-4\tools\aapt.exe package -m -J G:\工程文件\Eclipse3\aaa\target\generated-sources\r -M G:\工程文件\Eclipse3\aaa\AndroidManifest.xml -S G:\工程文件\Eclipse3\aaa\res --auto-add-overlay -A G:\工程文件\Eclipse3\aaa\assets -I D:\Android\Android_SDK\platforms\android-4\android.jar
我们单独在控制台执行这个命令,得到的输出是“命令行太长”,我真无语了。
解决办法,想办法缩减文件夹的结构。。。。
 
问题6:
 
执行命令mvn clean install出错——MojoExecutionException: ANDROID-040-001: Could not execute: Command ……
描述,命令缩减之后依然无法执行,不过这时候的命令是这样的
D:\Android\Android_SDK\platforms\android-4\tools\aapt.exe package -f -M G:\a\aaa\AndroidManifest.xml -S G:\a\aaa\res --auto-add-overlay -A G:\a\aaa\target\generated-sources\combined-assets\assets -I D:\Android\Android_SDK\platforms\android-4\android.jar -F G:\a\aaa\target\aaa.ap_ --debug-mode
多了一个--debug-mode,我们单独在控制台执行这个命令,会发现提示显示的是aapt不支持--debug-mode这个参数,尼玛,简直坑爹有没有。然后我用了build-tools下面的aapt.exe发现可以使用这个参数,于是你明白了之前为什么我要拷贝17.0.0文件夹下的aapt.exe了
解决办法,删掉android-4下面的aapt相关文件,从17.0.0文件夹下拷贝东西过来。
 
问题7:
在Eclipse右键项目选择Run as-maven install出错——complier could not found,Perhaps you are running on a JRE rather than a JDK
描述,不是急的太清了,反正意思就是找不到编译器,说我们可能使用安装的jre运行而不是jdk里面的jre运行。
解决办法,window-Preferences-java-installed JREs,选择add,找到自己的jdk路径,确定之后选择jdk,不要选择jre
 
问题8:
在pom.xml添加dependency时出错误——Missing artifact……
描述,修改pom.xml并保存,maven就会去连接中央库(可能是企业内部的)来更新本地库,有时候网络状况不佳的时候会出现连接中央库timeout,那么此时就会出现missing artifact错误了
解决办法,在.m2/repo...文件夹下面找到这个artifact的文件夹,删掉,然后重新保存pom.xml,当然如果依然timeout,自己想办法吧。

问题9:

no android sdk path could be found
描述,有时候maven没办法找到sdk的路径,即使你配置了ANDROID_HOME环境变量,这时候需要在$HOME/.m2文件夹下创建setting.xml文件,向其中加入以下配置信息

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
<profiles> 
<profile> 
<id>android</id> 
<properties> 
<android.sdk.path> PATH / TO / THE / ANDROID / SDK </android.sdk.path> 
</properties> 
</profile> 
</profiles> 
<activeProfiles> 
<!--make the profile active all the time --> <activeProfile>android</activeProfile> </activeProfiles> 
</settings>

【maven】maven各种奇葩问题的更多相关文章

  1. [Maven]Maven 那点事儿

    0. 前言 Jason Van Zyl,在 Java 十大风云人物排行榜上或许会看到他. 这兄弟是干嘛的? 他就是 Maven 的创始人,人们都尊称他为"Maven 他爸". 毋庸 ...

  2. Maven - Maven速成

    Maven Maven是一个项目构建和管理工具,有助于开发者快速完成项目的配置,快速建立开发环境,从而提高开发效率. 管理项目构建(build)的生命周期(清理.编译.测试.打包.发布.部署.报告等) ...

  3. [Maven]Maven入门教程

    概念 Maven是什么 Maven 是一个项目管理工具.它负责管理项目开发过程中的几乎所有的东西. 版本 maven有自己的版本定义和规则 构建 maven支持许多种的应用程序类型,对于每一种支持的应 ...

  4. [Maven]Maven安装简述

    maven安装简述 1检查jdk安装 1.1cmd输入echo %JAVA_HOME%检查JAVA_HOME是否指向了正确的jdk安装目录 1.2cmd输入java-version检查window是否 ...

  5. [Maven]Maven非常详细完整的教程

    请参考:http://blog.csdn.net/u012152619/article/category/6239920 第四部分已看完 另外也可参看简书:http://www.jianshu.com ...

  6. [Maven]Maven详解

    转自:http://www.cnblogs.com/hongwz/p/5456578.html 一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar ...

  7. [maven] maven变量

    Maven内置变量说明: $${project.basedir}或{basedir} 项目根目录,即包含pom.xml文件的目录 ${project.version}或${version}表示项目版本 ...

  8. Maven——Maven核心概念

    原文:http://www.cnblogs.com/xdp-gacl/p/4051819.html 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1. ...

  9. some knowledge of maven {maven实战}

    maven是跨平台的,不仅是一个构建工具,也是一个可以管理依赖的工具.它最大化的消除了构件的重复,并且提供了中央仓库,能帮我们自动下载构件.------------------------------ ...

  10. Maven - Maven基础

    1-下载及安装 1.1 - Maven - 项目管理利器 http://maven.apache.org/ Apache组织的开源项目. Maven是一个基于POM(Project Object Mo ...

随机推荐

  1. linux (RHEL) 添加和删除用户

    linux添加新用户使用 useradd -----create a new user or update default new user information 删除用户使用userdel  -- ...

  2. NoSQL之【MongoDB】学习(三):配置文件说明

    摘要: 继上一篇NoSQL之[MongoDB]学习(一):安装说明 之后,知道了如何安装和启动MongoDB,现在对启动时指定的配置文件(mongodb.conf)进行说明,详情请见官方. 启动Mon ...

  3. javascript中元素的scrollLeft和scrollTop属性说明

    再说意义之前,前说一下这两个属性的适用范围: 注意:这两个属性只能用于元素设置了overflow的css样式中.否者这两个属性没有任何意义.且overflow的值不能为visible,但可以为hidd ...

  4. PHP工厂模式的研究

    工厂方法模式 把 创造者类 和要生产的 产品类 分离.创建者是一个工厂类,其定义了产品生产的类方法.一般情况下,创建者类的每个子类实例化一个相应的产品子类. 下面是单个产品的实现代码: <?ph ...

  5. ASP.NET Ajax 简单实例

    本实例讲解Ajax 调用WCF服务. 1.建立一个网站,并在其中添加一个WCF服务(这里需要选择Ajax-Enabled WCF Service). 2.IDE会自动生成一个SVC文件. 3.服务代码 ...

  6. ios安装cocoaPods

    1. 安装 a. 查看源 i.   gem sources -l b. 删除源 i.   sudo gem sources -r https://rubygems.org/ c. 设置源 i.   s ...

  7. Genesis不能运行Perl编译后的脚本

    我们经常会遇到Genesis2000中C-shell的脚本不能正常运行的问题,而同样的程序在其它电脑上又可以正常运行,如果你能看看Genesis后台窗口,也就是后面那个黑乎乎的窗口(所谓的小DOS窗口 ...

  8. Mac 制作 10.11.3 U盘安装盘

    U盘要且只分一个区  Mac OS 拓展(日志式)  GUID分区表: 将“安装 OS X El Capitan” 放到  应用程序文件夹下 命令: sudo /Applications/Instal ...

  9. MyEclipse生成WAR包并在Tomcat下部署发布(转发)

    从来没有想过web项目还能打包的,但是有要求,就不得不去实现,在网上找了一下,发现挺简单的. 首先是使用MyEclipse将web项目打包,如下图所示. 右键选中项目,选择export. 然后选择J2 ...

  10. 关于java中的异常问题 1

    1.首先参考一下关于java异常处理方面的知识 查看博客http://lavasoft.blog.51cto.com/62575/18920/ 这里介绍的很好,下面从中学习到一些东西,摘抄如下: 1. ...