【maven】maven各种奇葩问题

问题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>
时间: 2024-10-22 12:00:08

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

Maven - Maven Build Life Cycle - maven tutorial

什么是构建工具? 构建工具是将软件项目构建相关的过程自动化的工具.构建一个软件项目通常包含以下一个或多个过程: 生成源码(如果项目使用自动生成源码): 从源码生成项目文档: 编译源码: 将编译后的代码打包成JAR文件或者ZIP文件: 将打包好的代码安装到服务器.仓库或者其它的地方: 有些项目可能需要更多的过程才能完成构建,这些过程一般也可以整合到构建工具中,因此它们也可以实现自动化. 自动化构建过程的好处是将手动构建过程中犯错的风险降到最低.而且,自动构建工具通常要比手动执行同样的构建过程要快.

maven maven的配置及使用

maven的配置及使用 一.什么是maven: 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的jar包都会作为项目的依赖.通常,一个Java EE项目所依赖的jar包会有很多.然而,这还并非是主要问题,在管理这些jar包过程中,jar包的版本往往是最令人头疼的问题.选择一个jar包的版本,需要考虑它所依赖的jar包是否支持这个版本,并且还需要确认依赖它的jar包能

[Maven]Maven构建可执行的jar包(包含依赖jar包)

----------------------------------------------------------------- 转载请注明出处! 博主:疲惫的豆豆 链接:http://www.cnblogs.com/dzblog/p/6913809.html ----------------------------------------------------------------- 目标: 将依赖的第三方jar包打进去 方法: maven-assembly-plugin 环境: IDE

some knowledge of maven {maven实战}

maven是跨平台的,不仅是一个构建工具,也是一个可以管理依赖的工具.它最大化的消除了构件的重复,并且提供了中央仓库,能帮我们自动下载构件.---------------------------------------------------------------------世界上任何一个构件都可以使用Maven坐标唯一标识.groudId:定义当前Maven项目隶属的实际项目. 命名规则:组织名.实际项目名 artifactId:定义实际项目中一个Maven项目(模块). 命名规则:实际项目

maven maven.compiler.source和maven.compiler.target的坑

最近建议产品组把jdk 1.7升级到1.8,昨晚开发报了个问题过来,说maven.compiler.source和maven.compiler.target改成1.8之后,编译出来的代码还是1.7,如下: 也可通过javap -v ServiceImpl.class 查看class文件的java编译版本号. 下午抽空看了下,果不其然,第一怀疑就是maven.compiler.source和maven.compiler.target这两参数不靠谱. 看了下,IDE配置的JDK,如下: 自动buil

【原创】经验分享(10)Could not transfer artifact org.apache.maven:maven. from/to central. Received fatal alert: protocol_version

maven编译工程报错 [ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:add-source (scala-compile-first) on project trade: Execution scala-compile-first of goal net.alchim31.maven:scala-maven-plugin:3.2.2:add-source failed: Plugin net.

使用 Eclipse 的 Maven 2 插件开发一个 JEE 项目

1.新建 Maven 项目 Eclipse 的 Package Explorer 视图下右击 -> New -> Maven -> Maven Project -> Next -> Select project name and location 对话框直接点 Next -> Select an Archetype 对话框,Catalog 选择 "All Catalogs",Filter 选择 Group Id 为 "org.apache.

Maven简介 &amp; 安装

近期开发的云平台项目使用了Maven 最为项目开发的管理工具,那么何为Maven呢?有何用途以及它的实现原理是什么呢?带着好奇,我们一起来学习Maven,共同揭开它的神秘面纱! 一,何为Maven Maven是一个采用纯java编写的开源项目管理工具.采用一种被称为Project  object Model(POM)概念来管理项目,所有的项目配置信息都被定义在pom.xml文件中,通过这个pom文件,就可以管理我们对所有包的依赖.例如,我们使用一些开源框架,第三方工具的jar包,以及这些jar包

Linux下Maven私服Nexus3.x环境构建操作记录【转】

Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Maven最强大的功能就是能够自动下载项目依赖库.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期.在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作.由于大部分项目的设置都很简单,并且可重

Maven 环境搭建

下载maven Maven版本:apache-maven-3.5.0 下载链接: http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.zip 配置Maven环境变量 Jdk 的环境变量已经安装好,这里省略. Maven解压后的路径: D:\software\apache-maven-3.5.0 添加 M2_HOME 和 MAVEN_HOME 环境变量到 Windows 环境变量,并