java - Maven 外部依赖

标签 java maven

我需要在我的 maven 项目中添加大约 15 个 jar,但它在远程和中央存储库中都不可用。

但是,我已经实现了如下,

  1. 在我的项目路径(\src\lib) 中添加了jar
  2. 如下更改 pom,

    <dependency>
    <groupId>XXX</groupId>
    <artifactId>YYY</artifactId>
    <scope>system</scope>
    <version>8.1</version>
    <systemPath>${basedir}\src\lib\YYY.jar</systemPath>
    </dependency>
    

我的问题:

我是否需要像上面那样对所有 15 个 jar 分别重复它,或者我们有任何其他方法来绑定(bind)这些 jar 并将其作为一个依赖路径?

同样的事情在这里讨论Maven: System dependency pointing to multiple jars .但我想知道我是否能得到更好的/新的想法,因为它已经讨论了 5 年了

Maven版本:3.3.9

最佳答案

我认为你不应该使用 systemPath

相反,请考虑将 jars 安装到您的本地存储库中,如下所述:https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

Maven 允许您通过手动调用在您的存储库中添加一个库:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

这样做,您的 jars 将安装在您的 .m2 存储库中,并将作为模块中的其他依赖项提供

编辑: 我们可以补充一点,在与队友合作时,我们通常使用我们自己的存储库管理器,如 Nexus ( http://www.sonatype.org/nexus/ ) 或 Artifactory ( https://www.jfrog.com/open-source/ )

关于java - Maven 外部依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34721896/

相关文章:

java - HTTP/1.1 400 对具有基本身份验证的 httpGet 的错误请求

java - OpenCSV CSV 到 JavaBean

java - springdoc-openapi 通用 Controller 类型参数支持

java - "java.io.StreamCorruptedException: invalid stream header: 3C3F786D"尝试合并主报告中的多个子报告时

java - 不使用java命令在linux终端中执行java类

maven - CATALINA_HOME 和 Maven + LOG4J

java - 为什么 Maven 3.3 不包含 'javax.inject' 但 Maven 3.2 包含?

java - 如何在maven中指定本地jar的路径

maven - 如何从命令行获取属性值,如果不是从环境中获取,如果不是 - 默认值?

java - 如何使用 cxf-xjc-plugin 从多个 xsd 生成 pojos?