![](/img/trans.png)
[英]package org.apache.commons.lang3 does not exist (maven)
[英]Maven package error: org.apache.commons-lang does not exist (Java)
我正在使用 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
,我收到一个错误说
包 org.apache.commons.lang 不存在
我检查了我的 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-lang
JAR 复制到您的target
?
在依赖项标记中向 pom.xml 添加以下依赖项对我有帮助:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>
我在没有 settings.xml 的情况下做了“mvn clean install -U”,所以它出错了。 然后我添加了settings.xml,做了“mvn clean install -U”,它说“错误:org.apache.commons-lang不存在”。 我知道代码是在另一台机器上成功构建的。 所以这不是我的代码。 大约 2 或 3 小时后,我终于意识到这是 .m2\\repository 在我第一次运行时被破坏了。 所以只需删除“repository”文件夹并运行“mvn clean install -U”并成功。
最好使用以下以避免冲突:
import org.springframework.util.StringUtils;
在 src/main/java 中会有一个 .auth 文件夹。 打开文件夹,转到 AuthController.java 文件并删除 import io.swagger 行。 重新开始。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.