首页 > 解决方案 > Maven:如何在 Maven 项目中打包外部 jars(文件夹)

问题描述

我在项目的构建路径中添加了一组外部 jar(数百个)以使其正常工作。但是在包装时它失败了,因为这些罐子不适用于 maven。

我看过很多文章,所有的解决方案(比如在系统路径中添加 jar)都只针对一个 jar。

<dependency>
<groupId>com.sample</groupId>
<artifactId>sample</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/Name_Your_JAR.jar</systemPath>
</dependency>

有什么方法可以将 jars(文件夹)组添加到项目的包装中?或我的项目可以成功构建的任何其他解决方案?


can we create a single jar containing all my jars inside and then use the system scope of maven

我尝试通过创建 jarjar -cvf my_jar.jar *并将这个 jar 放在系统范围内。但这对我不起作用。

标签: javamaven

解决方案


<dependency>坏消息:对于一个正确的 Maven 项目,您需要添加您在 POM 中使用的每个工件。

好消息:我非常怀疑这 100 个 jar 是否全部 - 直接用于您的源代码 - 在 MavenCentral 等公共 Maven 存储库中不可用

所以更好的策略是找出你真正需要的东西并在 MavenCentral 中找到它。然后 Maven 会为你找到所有的传递依赖。因此,如果您真的需要 10 个 jar 并且所有其他 jar 只是您的依赖项的依赖项,只需添加这 10 个(来自 MavenCentral)就可以了。


推荐阅读