在开发一个开源项目时,有人建议我应该将其变成一个支持 Maven 的项目。我立即尝试了。 该项目对其他“插件”有相当多的 JAR 依赖(我的项目是 Minecraft 插件)。因此我试图找到一种方法将它们添加到 pom.xml 中。在查看文档并查看其他项目后,这似乎是这样的:
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>Vault</artifactId>
<version>1.2.21-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/Vault.jar</systemPath>
</dependency>
但是,我还了解到“系统”作用域不受欢迎,并且 Netbeans 对此有所提示。
所以我的问题是,处理这个问题的正确方法是什么?我需要建议每个开发人员切换到 Maven 吗?或者有替代上述配置的方法吗?
最佳答案
不要使用scope system ,它主要是为 JDK 中的库设计的。
Dependencies with the scope system are always available and are not looked up in repository. They are usually used to tell Maven about dependencies which are provided by the JDK or the VM.
将所有非 Maven 库(jar)放入 Maven 存储库 - 这是正确的方法。
了解如何将 Artifact 安装到 Maven 存储库中
关于java - 如何从 Maven 项目引用非 Maven 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21463989/