我正在使用MyEclipse开发一个非常简单的Java Struts项目。在我想使用org.apache.commons.lang.中的StringUtils
类之前,一切都运行得很好在MyEclipse中,我导入了这样的包
import org.apache.commons.lang.StringUtils;
我将commons-lang-2.4的Jar文件添加到我的构建路径中。这一切都工作得很好,我得到了智能感知,并且在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文件中?
发布于 2011-09-08 03:16:20
尝试运行以下命令并检查输出:
$ mvn dependency:tree
$ mvn help:effective-pom
寻找commons-lang
,也许某些东西会引起你的注意,比如排除或依赖覆盖。此外,还包括:
$ mvn dependency:copy-dependencies
将commons-lang
JAR复制到target
发布于 2019-05-16 12:55:17
在dependencies标签中向pom.xml添加以下依赖项对我很有帮助:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>
发布于 2019-06-12 06:02:11
我在没有settings.xml的情况下做了"mvn clean install -U“,所以它是错误的。然后我添加了settings.xml,做了"mvn全新安装-U",它显示“错误:org.apache.commons-lang不存在”。我知道代码是在另一台机器上成功构建的。所以这不是我的代码。大约两三个小时后,我终于意识到我的第一次运行破坏了.m2\repository。所以只需删除"repository“文件夹,然后运行"mvn clean”就可以了。
https://stackoverflow.com/questions/7339264
复制相似问题