我是 Maven 新手,我第一次尝试构建一个项目。我想写一些依赖于apache lucene的代码。这是一个Maven 中的工件列表 http://mvnrepository.com/artifact/org.apache.lucene我想要得到的。
有什么方法可以简单地依赖给定版本的所有工件,而不是显式列出每个工件?我试过这个:
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>*</artifactId>
<version>3.6.1</version>
</dependency>
这给了我错误
org.apache.lucene 的“dependency.dependency.artifactId”::jar 具有值 '' 与有效的 ID 模式不匹配。 @第19行第19列
当我明确声明依赖项时,我可以验证是否可以下载依赖项。 IE 这工作正常:
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>3.6.1</version>
</dependency>
我意识到依赖 lucene 中的所有内容可能不是最佳的,但是为了做一些快速而肮脏的事情,我不想手动填充所有这些小 lucene 库。在maven中获取大量相关依赖项的典型做法是什么?
简短回答:你不能。请记住,您只需执行一次此操作,稍后您可以简单地复制粘贴依赖项(尽管不是很干燥)。还可以考虑创建一个原型,该原型将快速创建具有所有必需依赖项的骨架(对于快速而肮脏的项目)。
更长的答案:好吧,你可以解决这个问题。创建一个单独的pom.xml
with:
<packaging>pom</packaging>
并手动声明所有 Lucene 依赖项,一个接一个。一劳永逸。稍后你可以简单地添加一个依赖项到你的pom.xml
(也就是说groupId
/artifactId
/version
在那里定义),它将传递地包括该的所有依赖项pom.xml
.
谈论传递性:如果您依赖 Maven 中的 JAR,并且该 JAR 有其他依赖项,则您会隐式获得传递依赖项。检查 Lucenepom
s,也许导入其中的一些并依赖传递依赖就足够了?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)