【问题标题】:i can't solve maven building error failure我无法解决 Maven 构建错误失败
【发布时间】:2014-02-06 15:17:20
【问题描述】:

当我使用 maven 构建我的项目时出现错误。所以请帮忙! 谢谢你的帮助

未能执行目标 org.apache.maven.plugins:maven-assembly-plugin:2.2.1:assembly (make-assembly)项目newstart-app-ithelp:执行 目标组装 org.apache.maven.plugins:maven-assembly-plugin:2.2.1:assembly 失败: 对于工件 {null:null:null:jar}:groupId 不能为空。原因 : 目标的执行make-assembly org.apache.maven.plugins:maven-assembly-plugin:2.2.1:assembly 失败: 对于工件 {null:null:null:jar}:groupId 不能为空。堆 跟踪:org.apache.maven.lifecycle.LifecycleExecutionException: 未能执行目标 org.apache.maven.plugins:maven-assembly-plugin:2.2.1:assembly (make-assembly)项目newstart-app-ithelp:执行 目标组装 org.apache.maven.plugins:maven-assembly-plugin:2.2.1:assembly 失败: 对于工件 {null:null:null:jar}:groupId 不能为空。

<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/xsd/maven-4.0.0.xsd">
<parent>
    <groupId>com.feinno.app</groupId>
    <artifactId>root-pom</artifactId>
    <version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<groupId>newstart.app</groupId>
<artifactId>newstart-app-ithelp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>newstart-app-ithelp</name>
<url>http://maven.apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2.1</version>
            <configuration>
                <appendAssemblyId>false</appendAssemblyId>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>com.newstart.app.ithelp.ITHelpBean</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>assembly</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <verbose>true</verbose>
                <fork>true</fork>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.4.3</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.1.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpmime</artifactId>
        <version>4.1.2</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.0</version>
    </dependency>
    <dependency>
        <groupId>com.feinno.app</groupId>
        <artifactId>feinno-app-common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.24</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>0.2.9</version>
    </dependency>
    <dependency>
        <groupId>spring-aop</groupId>
        <artifactId>spring-aop</artifactId>
        <version>3.2.3</version>
    </dependency>
    <dependency>
        <groupId>spring-beans</groupId>
        <artifactId>spring-beans</artifactId>
        <version>3.2.3</version>
    </dependency>
    <dependency>
        <groupId>spring-context</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.3</version>
    </dependency>
    <dependency>
        <groupId>spring-core</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.2.3</version>
    </dependency>
    <dependency>
        <groupId>spring-jdbc</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>3.2.3</version>
    </dependency>
    <dependency>
        <groupId>spring-tx</groupId>
        <artifactId>spring-tx</artifactId>
        <version>3.2.3</version>
    </dependency>
    <dependency>
        <groupId>spring-expression</groupId>
        <artifactId>spring-expression</artifactId>
        <version>3.2.3</version>
    </dependency>
    <dependency>
        <groupId>IKAnalyzer</groupId>
        <artifactId>IKAnalyzer</artifactId>
        <version>6</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>3.6.0</version>
    </dependency>
    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-core</artifactId>
        <version>2.6.0</version>
    </dependency>
    <dependency>
        <groupId>linq4j</groupId>
        <artifactId>linq4j</artifactId>
        <version>1.0</version>
    </dependency>
</dependencies>
<distributionManagement>
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://10.10.208.92:8081/content/repositories/snapshots</url>
    </snapshotRepository>
</distributionManagement>

【问题讨论】:

  • 它说,groupId 不能为空。发布pom.xml
  • 你到底想做什么?哪个命令?另外,您是否阅读了错误消息?
  • 你是在运行 mvn clean install 还是?
  • 也许您可以尝试手动清理 .m2 文件夹,然后在您的项目上运行 mvn install?然后,运行上面的命令,看看问题是否仍然存在。

标签: java maven


【解决方案1】:

我已通过删除本地 .m2/repository 文件夹解决了这个问题。现在构建成功了。

【讨论】:

  • 我讨厌这样难以理解的错误……这对我也有用。如果您正在运行 Windows 并且不知道在哪里可以找到它,只需转到 %username%\.m2
  • 这对我有用。由于我们内部关系的问题,我的 mvn 构建早些时候因校验和错误而失败。构建失败后,我得到“执行目标 org.apache.maven.plugins:maven-assembly-plugin:2.2.1:assembly failed: For artifact {null:null:null:jar}: the groupId cannot是空的。”错误。
  • 我也遇到了同样的问题。删除 .m2 目录(Mac 上为 ~/.m2)解决了它。
【解决方案2】:

我的有不同的解决方案。我有一个 POM 有一个 &lt;dependencyManagement&gt; jar 条目 没有 任何 &lt;version&gt;并且 它有一个 &lt;dependencies&gt; jar 条目 with 一个&lt;version&gt;。另外,父 POM 有一个&lt;dependencyManagement&gt; 条目 相同的&lt;version&gt;。显然这让Maven(3.3)感到困惑。构建工作正常,但包装没有。

修复:删除子 POM 中的 &lt;dependencyManagement&gt; 条目,并从子 POM 中的 &lt;dependencies&gt; 条目中删除 &lt;version&gt;

在代码中,这是损坏的情况:

Parent pom.xml:
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>${httpclient.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

Child pom.xml:
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>
    </dependencies>
</dependencyManagement>
...
<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpclient.version}</version>
    </dependency>
</dependencies>

后修复:父 POM 是一样的,子 pom 就是这个

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
    </dependency>
</dependencies>

【讨论】:

    【解决方案3】:

    如果您查看您的 maven 构建输出,应该有一些警告说 .pom 无效,传递依赖项(如果有)将不可用。删除与这些 pom 对应的所有工件并重新构建,您无需删除整个存储库。

    【讨论】:

    • 不知道为什么谷歌把我带到了这个问题(我正在搜索一个关于插件中缺少类的错误),但是谢谢,你的回答让我走上了正轨!我不想删除或重命名我的存储库,因为我怀疑它包含其他地方不存在的 jars
    【解决方案4】:

    最近我遇到了同样的问题。我认为程序集插件不会传播/报告具有依赖关系的错误:

    [DEBUG] Resolving project dependencies transitively.
    [DEBUG] com.g.....0.4-SNAPSHOT (selected for null)
    [DEBUG]           org.springframework:spring-expression:jar:3.1.4.RELEASE:compile (selected for compile)
    [DEBUG]           org.springframework:spring-asm:jar:3.1.4.RELEASE:compile (selected for compile)
    [DEBUG]         trove:trove:jar:1.0.2:compile (selected for compile)
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    ....
    [INFO] p.....mo ....................................... FAILURE [57.144s]
    [INFO] BUILD FAILURE
    
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.5.4:single (full) on project p...o: Execution full of goal org.apache.maven.plugins:maven-assembly-plugin:2.5.4:single failed: For artifact {null:null:null:jar}: The groupId cannot be empty. -> [Help 1]
    

    这就是我从汇编插件中获得的全部内容。例如。编译器警告损坏的东西:

    [WARNING] error reading /var/lib/jenkins/...org/hyperic/sigar/1.6.3.82/sigar-1.6.3.82.jar; error in opening zip file
    [WARNING] error reading /var/lib/jenkins/.../org/hyperic/sigar/1.6.3.82/sigar-1.6.3.82.jar; error in opening zip file
    

    因此,如果您遇到此问题,请调用 mvn dependency:tree 来解决依赖关系。

    【讨论】:

    • 感谢您发布此信息;你的解决方案正是我的问题。现在我知道了,我认为我可以复制MASSEMBLY-664,我是否应该选择为此花费精力。
    【解决方案5】:

    我最近在构建一个 spring boot 2.2 项目时遇到了这个问题。 原来问题是一个过时的maven-assembly-plugin。我们的构建指定了 2.3,但 spring boot 的 bom 要求至少 3.1.1。升级到 3.2.0(撰写本文时的最新版本)解决了这个问题。

    【讨论】:

      【解决方案6】:

      检查您的 Maven 版本。 在我下载并安装了更高版本的 Maven(从 3.2 到 3.6)之前,我遇到了同样的问题并且没有任何效果。这为我解决了这个问题。 我也在使用 Java 11,从我在这里看到的内容来看: https://mkyong.com/maven/how-to-install-maven-in-windows/

      Maven 3.3+ requires JDK 1.7+
      Maven 3.2 requires JDK 1.6+
      Maven 3.0/3.1 requires JDK 1.5+
      

      【讨论】:

        【解决方案7】:

        对我来说,暂时从插件管理部分删除以下依赖项为我解决了这个问题。

        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
        </plugin>
        

        之前的错误信息:

        Execution default-cli of goal org.codehaus.mojo:versions-maven-plugin:2.8.1:display-plugin-updates failed: For artifact {null:null:null:jar}: The groupId can not be empty. -> [Help 1]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-11-02
          • 1970-01-01
          • 1970-01-01
          • 2013-07-11
          • 2019-07-10
          • 2021-11-27
          • 1970-01-01
          • 2019-03-26
          相关资源
          最近更新 更多