Java 将第三方jar从文件系统添加到最终可执行jar,而不在本地maven repo中添加第三方jar
我希望具有系统作用域的依赖项成为我的项目最终可执行jar的一部分。我尝试了maven assembly、maven shade和maven dependency插件。但是,使用这些插件,只有那些存在于本地maven存储库中的项目依赖项得到了添加。具有系统作用域的依赖项(在我的本地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
<!-- 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个不同的问题,这只是谷歌的第一页,我可以添加更多)。