Maven package error: org.apache.commons-lang does not exist (Java)怎么解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (1628)

我正在使用MyEclipse开发一个非常简单的Java Struts项目。一切工作正常,直到我想使用org.apache.commons.lang中StringUtils类。在MyEclipse中,我导入了类似的包

import org.apache.commons.lang.StringUtils;

我将commons-lang-2.4的Jar文件添加到我的构建路径中。这一切都正常工作,并且我得到了Intellisense,并且在Eclipse中没有任何错误。现在,当我去做一个mvn clean package,我得到一个错误说

The package org.apache.commons.lang does not exist

我检查了我的war / Pom.xml文件,我确实声明它是依赖项

<dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.0.1</version>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.4</version>
    </dependency>

</dependencies>

从我的研究中,我发现Maven应该下载软件包并将其安装到我的本地存储库(如果它不存在)。我检查了存储库并且jar文件在那里。我认为jar文件必须损坏,所以我删除了commons-lang文件夹以获得新的commons-lang下载。在我从本地资源库中删除它并运行后mvn clean package,它就会出来并下载commons-lang-2.1 .pom和jar(即使pom.xml有2.4),但这仍然是我思考的问题,仍然给出了一个编译失败,说包org.apache.commons.lang不存在

我没有使用Maven很长时间,所以我不知道如何去解决这个问题。我错过了什么吗?我是否需要在其他地方的另一个pom.xml文件中添加依赖项?

提问于
用户回答回答于

尝试运行以下命令并检查输出:

$ mvn dependency:tree
$ mvn help:effective-pom

寻找commons-lang,也许有些东西会引起你的注意,如排除或依赖覆盖。也是:

$ mvn dependency:copy-dependencies

复制commons-langJAR到你的target

用户回答回答于

在src / main / java中会有一个.auth文件夹。打开文件夹,转到AuthController.java文件并删除导入io.swagger行。重新开始。

扫码关注云+社区

领取腾讯云代金券