Maven外部依赖

sas*_*s26 1 java maven

我需要在我的maven项目中添加大约15个罐子,并且它在远程和中央存储库中都不可用.

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

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

    <dependency>
    <groupId>XXX</groupId>
    <artifactId>YYY</artifactId>
    <scope>system</scope>
    <version>8.1</version>
    <systemPath>${basedir}\src\lib\YYY.jar</systemPath>
    </dependency>
    
    Run Code Online (Sandbox Code Playgroud)

我的问题:

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

这里讨论的同样的事情是Maven:指向多个jar的系统依赖.但我想知道我是否可以获得更好的/新的想法,因为这是5年的讨论

Maven版本: 3.3.9

Pri*_*rim 5

我认为你永远不应该使用systemPath

相反,请考虑将jar安装到本地存储库中,如下所述: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>
Run Code Online (Sandbox Code Playgroud)

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

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