为什么文件中的某些 maven 依赖项.pom
会导致以下错误:Missing artifact nonfree-lingpipe:lingpipe:jar:2.3.1
?所有依赖项都列在 .pom 文件中。在 .m2 文件夹中,我有所有依赖文件夹,但不是所有 jar:所以对于nonfree-lingpipe:lingpipe:jar:2.3.1
- 没有 jar,但我有一个4.1.0
. 为什么maven没有那个,而是搜索的2.3.1
?我没有在文件中看到任何版本.pom
,只有名称。
问问题
395 次
2 回答
0
dependencyManagement中的定义仅定义了应该在哪个版本中使用它的工件,但并没有真正使用这个工件。此外,给定的示例:
<dependencies>
<dependency>
<groupId>nonfree-lingpipe</groupId>
<artifactId>lingpipe:jar</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
是错误的,因为 artifactId 不应该包含冒号。正确的方法是:
<dependencies>
<dependency>
<groupId>nonfree-lingpipe</groupId>
<artifactId>lingpipe</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
此外,您需要在 dependencyManagement 块之外定义此依赖项才能真正使用此依赖项。
于 2012-11-26T10:25:42.013 回答
0
Maven 依赖项必须指定版本号。如果您看不到列出的一个,那么您的 POM 或其父项之一中必须有一个依赖管理元素:
<project>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>nonfree-lingpipe</groupId>
<artifactId>lingpipe:jar</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
</dependencyManagement>
...
</project>
要对 4.1.0 进行更改,您必须在依赖项声明中明确指定版本,或者查找依赖项管理部分并在那里进行更改。
于 2012-11-26T09:08:02.040 回答