Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将第三方jar从文件系统添加到最终可执行jar,而不在本地maven repo中添加第三方jar_Java_Maven - Fatal编程技术网

Java 将第三方jar从文件系统添加到最终可执行jar,而不在本地maven repo中添加第三方jar

Java 将第三方jar从文件系统添加到最终可执行jar,而不在本地maven repo中添加第三方jar,java,maven,Java,Maven,我希望具有系统作用域的依赖项成为我的项目最终可执行jar的一部分。我尝试了maven assembly、maven shade和maven dependency插件。但是,使用这些插件,只有那些存在于本地maven存储库中的项目依赖项得到了添加。具有系统作用域的依赖项(在我的本地maven repo中不存在)没有添加到最终的可执行jar中 <!-- Teradta jdbc dependency --> <dependency> <groupId>o

我希望具有系统作用域的依赖项成为我的项目最终可执行jar的一部分。我尝试了maven assembly、maven shade和maven dependency插件。但是,使用这些插件,只有那些存在于本地maven存储库中的项目依赖项得到了添加。具有系统作用域的依赖项(在我的本地maven repo中不存在)没有添加到最终的可执行jar中

<!-- Teradta jdbc dependency -->

<dependency>
    <groupId>org.teradata</groupId>
    <artifactId>teradata</artifactId>
    <version>4.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/../../../lib/terajdbc4.jar</systemPath>
</dependency>
我试着在谷歌上搜索,但大多数链接都建议先添加本地maven repo。我有一些限制,所以我不能添加对本地回购的依赖。我希望它直接从文件系统中选取,并希望它成为最终可执行jar的一部分

<!-- Teradta jdbc dependency -->

<dependency>
    <groupId>org.teradata</groupId>
    <artifactId>teradata</artifactId>
    <version>4.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/../../../lib/terajdbc4.jar</systemPath>
</dependency>

org.teradata
天睿资讯
4
系统
${basedir}/../../../../lib/terajdbc4.jar
上面的依赖项并没有添加到maven正在构建的最后一个jar中

请向我推荐正确的插件及其在这个用例中的用法


在此方面的任何帮助都将不胜感激。

正如前面所说,我投票将此问题作为离题题结束,因为这是为了解决一些无法解决的问题,因为这已经说过很多次了。@Tunaki,但这在战争中是可能的,我们可以在最后的战争中添加系统范围的依赖关系。为什么jar不可能呢?结束一个问题是没有意义的,因为这是一个有效的问题,如果在战争中maven支持某个东西,那么也可能有其他方法使它成为jar的一部分。我已经浏览了您在第一条评论中指出的链接,但我在问题中说,我有一些系统依赖性,我不希望它成为本地文件系统repo的一部分,因为要使其成为本地文件系统repo的一部分,需要从项目外部执行mvn install:install file命令,但在我的例子中,我的项目jar是由CI jenkins服务器构建的。正如我之前所说的,这在战争中绝对不起作用。
系统
范围不是您想要的。你应该有一个私有的内部存储库,比如Nexus或Artifactory,并将这个特定的工件上传到这个repo(仅供参考,我的第一个评论链接指向7个不同的问题,这只是谷歌的第一页,我可以添加更多)。