如何通过 Maven 将 jar 文件添加到 war 文件的 WEB-INF/lib 文件夹? [复制]

Posted

技术标签:

【中文标题】如何通过 Maven 将 jar 文件添加到 war 文件的 WEB-INF/lib 文件夹? [复制]【英文标题】:How can I add a jar file to the the WEB-INF/lib folder of a war file, through Maven? [duplicate] 【发布时间】:2019-09-19 06:08:09 【问题描述】:

我按照https://www.mkyong.com/spring-boot/spring-boot-deploy-war-file-to-tomcat/ 的教程成功创建了一个WAR 文件。但是,我还需要一个外部 jar 库,我目前手动将生成的 WAR 文件放入文件夹 WEB-INF/lib 中。

我想要的是将所有外部 jar 放在一个文件夹 lib 中,并在编译期间让 Maven 自动将它们放在生成的 WAR 文件的 WEB-INF/lib 文件夹中。我该怎么做?

【问题讨论】:

我投票决定作为副本关闭。那里有几个答案,最好的一个是这个不幸的是不是被接受的答案:***.com/a/28762617/424903 【参考方案1】:

Maven 会自动将依赖项添加到 WEB-INF/lib,它们的范围应该是 compile。因此,如果您想放置外部 jar,只需将 maven 依赖项放在该外部 jar 上,编译范围是默认的。 更多信息请查看this问题

【讨论】:

附录:当来自 C 语言时,这可能并不明显,但 Maven 总是通过 GAV(GroupId、ArtifactId、Version)而不是通过路径或文件来处理工件(jars)。这些 GAV 针对(本地和远程)Maven 存储库进行解析。 @JFMeier 是的,这就是我想知道的。如何在不指定 groupId、artifactId 等的情况下做到这一点。 你没有。实际上,有一些方法可以解决它(请参阅@DKAnsh 答案),但并不真正推荐它们。如果您使用 Maven,则将您的工件放入 Maven 存储库并通过 Maven 坐标引用它们。这有什么问题?

以上是关于如何通过 Maven 将 jar 文件添加到 war 文件的 WEB-INF/lib 文件夹? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Maven - 如何将任意类路径条目添加到 jar?

如何将jar包加入到Maven本地仓库

如何将本地项目(不是 jar)作为依赖项添加到 Maven 项目

如何将 Java JAR 文件添加到 Grails 项目?

maven添加jar包依赖

怎么将maven jar添加到idea