java - 如何从 Maven 项目引用非 Maven 项目

标签 java maven minecraft

在开发一个开源项目时,有人建议我应该将其变成一个支持 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/

相关文章:

java - 错误/java.lang.NoClassDefFoundError : com/google/api/services/pubsub/PubsubScopes

java - 从 xsd 生成 maven-jaxb2-plugin 类(版本错误)

java - 我的 Minecraft 缓冲阅读器仅读取最后一行

algorithm - 模拟3D空间中的简单三边测量算法

java - 按后退按钮当前片段保留不恢复上一个片段

java - 我正在尝试 JNI 如何在 Linux 中设置 java.library.path

java - Maven - 有没有办法轻松创建一个 'uber' jar 并重新定位所有依赖项?

java - 如何获取库存中单击的项目的名称

java - DAO 中的搜索方法类似于 SQL 的 LIKE

java - 在 mongodb 集合中找到一些值?