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 问题的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse Maven:pom.xml 中的未知错误

由于 pom.xml 中的错误,无法使用 Maven 运行构建

Eclipse (pom.xml) 中的 Maven 错误:传输 org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 失败

maven pom xml文件中的错误:构建Android项目[重复]

Spring Initializr 生成的 pom.xml 中的错误

pom.xml 中的 JDBC Maven 依赖关系