为了使用其org.apache.commons.text
方法,我已经安装了StringEscapeUtils
Java软件包。当我编译该程序时,它以一连串的错误而失败,这些错误引用了包中的元素以及消息
error: package org.apache.commons.lang3 does not exist
很明显,org.apache.commons.text
取决于org.apache.commons.lang3
吗?这让我感到惊讶,因为org.apache.commons.text
的{{3}}和doc page都没有提到任何依赖关系。除了繁琐的试验和错误之外,有什么方法可以知道我实际上需要安装什么才能使用StringEscapeUtils
?
答案 0 :(得分:2)
Maven将帮助您解决这一问题。我不是行家专家,因此可能会有更好的方法来执行此操作,但是我是这样做的。在某个地方(例如,/ tmp / blah)创建一个子目录。并在该目录中创建如下所示的pom.xml:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
</project>
然后从该目录中,向Maven询问:
mvn dependency:tree
您将获得大量输出,但最后,这就是您得到的全部结果:
[INFO] com.mycompany.app:my-app:jar:1.0-SNAPSHOT
[INFO] \- org.apache.commons:commons-text:jar:1.4:compile
[INFO] \- org.apache.commons:commons-lang3:jar:3.7:compile
这应该是完整列表-您的项目需要apache commons文本,而该项目需要commons lang3。