我正在使用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文件中添加依赖项吗?
5条答案
按热度按时间omtl5h9j1#
尝试运行以下命令并检查输出:
查找
commons-lang
,可能会有一些东西会引起您的注意,例如排除或依赖项重写。此外,是:将
commons-lang
JAR复制到target
?jtoj6r0c2#
在dependencies标签中向pom.xml添加以下依赖项帮助了我:
huwehgph3#
我在没有settings.xml的情况下执行了“mvn clean install -U”,所以它出错了。然后我添加了settings.xml,做了“mvn clean install -U”,它说“error:org.apache.commons-lang does not exist”。我知道代码是在另一台机器上成功构建的。所以这不是我的代码。大约2或3个小时后,我终于意识到.m2\repository在我第一次运行时损坏了。因此,只需删除“仓库”文件夹完成,并运行“mvn清洁安装-U”,并成功。
nwwlzxa74#
在pom.xml中添加以下内容
并确保您的Java代码具有以下导入条目:import org.apache.commons.lang3.StringUtils; NOT import org.apache.commons.lang.StringUtils;
请注意lang 3,它在这里产生了差异。
u0njafvf5#
在src/main/java中会有一个.auth文件夹。打开文件夹,转到AuthController.java文件并删除导入io.swagger行。重新开始。