pom.xml 中的错误,maven 问题
Posted
技术标签:
【中文标题】pom.xml 中的错误,maven 问题【英文标题】:Error in pom.xml, maven issue 【发布时间】:2016-10-03 03:52:23 【问题描述】:几天前我的 maven 项目运行良好。我突然开始收到这个奇怪的错误。
org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)
我还附上图片以显示它实际上是如何显示此错误的。
我的 pom 文件看起来像这样...
<?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>SS</artifactId>
<groupId>com.rolta.dss</groupId>
<version>5.2.0.16</version>
</parent>
<artifactId>androidImpl</artifactId>
<packaging>apk</packaging>
<name>AndroidImpl</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform.version></platform.version>
<android.plugin.version>3.8.2</android.plugin.version>
<jdk.version>6</jdk.version>
<jdk>$env.JAVA_HOME</jdk>
</properties>
<dependencies>
<dependency>
<groupId>com.rolta.dss</groupId>
<artifactId>Core</artifactId>
<version>5.2.0.16</version>
</dependency>
<dependency>
<groupId>com.rolta.support</groupId>
<artifactId>android-support</artifactId>
<version>v13</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>$env.BUILD_NAME</finalName>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.9.0-rc.2</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>19</platform>
</sdk>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>$jdk.version</source>
<target>$jdk.version</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<executable>$jdk/bin/javac</executable>
<fork>true</fork>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<jvm>$jdk/bin/java</jvm>
<forkMode>once</forkMode>
</configuration>
</plugin>
</plugins>
</build>
</project>
我尝试删除 .m2 文件夹,检查 .m2 文件夹中是否缺少任何依赖项(所有内容都存在)。当我执行 maven clean 和 maven install 时,我会收到构建成功消息。我还检查了 jdk 版本(它是 1.6)。即使我在新的 Eclipse 中尝试过,问题仍然存在。
还有什么我想念的吗?提前致谢。
【问题讨论】:
您在 pom 文件的某处使用了新版本 (3.0.0) 的 maven-jar-plugin...这仅与 m2e 有关...(票已完成并已修复也确实存在...) 【参考方案1】:这个问题与 eclipse 中的 m2e-plugin 有关。您可以通过运行验证 来自命令行的 maven(您已经这样做了),应该不会出错。
这是因为 UTF-8 格式(BOM 开头)的 pom.
https://github.com/tesla/m2eclipse-mavenarchiver/issues/6
你可以试试最新的:https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/0.17.0/N/LATEST/
【讨论】:
问题是与此相关的github.com/tesla/m2eclipse-mavenarchiver/issues/8。 确实这个问题与 m2e 插件有关。不过我解决了。谢谢大家的回复。【参考方案2】:在搜索问题原因时,我偶然发现了这个链接eclipse issue with the pom
所以我检查了我当前版本的 m2e 插件和 sonatype 版本它是什么东西
m2e - Eclipse 的 Maven 集成 1.4.0.20130601-0317 org.eclipse.m2e.feature.feature.group 和
0.17.0.201502101659 org.sonatype.m2e.mavenarchiver.feature.feature.group Sonatype, Inc.。
我是这样检查当前版本的(帮助>关于eclipse>安装细节)
然后我卸载了这两个插件,问题就解决了。
卸载(帮助>关于eclipse>安装详情>选择插件>卸载)
我卸载它们是因为我想将 m2e 升级到最新版本,即 1.6 update m2e link
由于其他原因我无法升级,所以我尝试卸载以前的版本并考虑更新最新版本。但是一旦我卸载了以前的版本问题就解决了。
【讨论】:
以上是关于pom.xml 中的错误,maven 问题的主要内容,如果未能解决你的问题,请参考以下文章
由于 pom.xml 中的错误,无法使用 Maven 运行构建
Eclipse (pom.xml) 中的 Maven 错误:传输 org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 失败
maven pom xml文件中的错误:构建Android项目[重复]