java - 如何在 Maven 项目(编译、构建、打包)中包含第 3 方 jar,其中添加本地 Maven 存储库不是一个选项?

标签 java git maven maven-3 maven-plugin

我们有一个 git 项目,其中包含一些 3rd 方 jar,这些 jar 在任何 Maven 存储库中都不可用,并且位于项目的“lib”文件夹中。我需要包含它们进行编译、构建,然后将它们打包到 WEB-INF/lib 中的 WAR 中。

我无法从命令行将它们添加为本地 Maven 存储库,因为该项目需要可供任何克隆存储库的人构建,而不需要他们运行额外的命令(我无法绕过此要求)。

我看到一些人建议使用系统范围,但 Maven 不会将它们打包到你的 WAR 中:

<dependency>
    <groupId>com.roufid.tutorials</groupId>
    <artifactId>example-app</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/yourJar.jar</systemPath>
</dependency>

如何获取这些 jar 用于编译/检查、构建然后打包到 WAR 中?

最佳答案

您可以使用:

  • 系统范围,但通过程序集插件自行打包
  • 与您的项目一起的 Maven 存储库(即即时 Maven 存储库,与本地存储库基本相同,但无需担心额外的移动部分,因为此存储库遵循您的项目)。

对于 Maven 存储库即时选项,您可以按照描述执行 here (也就是说,获取任何已经存在的 Maven 存储库,其中已经包含您需要的 jar,例如您本地的 jar,将其放入您的项目中,然后使用相对路径从您的项目引用此存储库)。

关于java - 如何在 Maven 项目(编译、构建、打包)中包含第 3 方 jar,其中添加本地 Maven 存储库不是一个选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44371211/

相关文章:

java - Maven – 文档中没有引用语法约束(DTD 或 XML Schema)

java - 无法让 tomcat 服务器运行 - startup.bat 什么都不做

windows - 按操作系统划分的 Git 客户端使用率 - 百分比是多少?

Git:将更改应用于两个分支

maven - 通过解析Maven项目中的build.gradle列出gradle项目中使用的远程存储库

Java Swing 垂直堆叠组件而不展开

java - 使用 ApprovalTest 验证多个图像

ruby-on-rails - 人们是否将他们的 capistrano deploy.rb 和食谱提交给他们的私有(private) scm?

java - 为什么 Maven 使用 JDK 1.6 但我的 java -version 是 1.7

java - Maven和Eclipse远程调试: connection refused