maven - 如何将第 3 方 JAR 添加到我的 Travis-CI maven 构建中?

标签 maven travis-ci

我有一个项目使用没有 Maven 存储库的 JAR。 这是我自己做的。

在构建我的项目之前,我在我的控制台上执行此操作:

mvn install:install-file -Dfile=myownjar-1.5.jar -DgroupId=com.cmabreu -DartifactId=mylocal-lib -Dversion=1.5 -D packaging=jar -DgeneratePom=true

并将 JAR 添加到我的 Maven 存储库(本地)。 然后我将所需的依赖项标记添加到我的 POM 文件并构建我的项目。

但是,当我提交到 Github 时,我不会发送我的自定义 JAR(是另一个项目)。

问题是:我如何告诉 Travis-CI 在其存储库中使用此自定义 JAR 来构建我的项目,而不将其发送到 Github?

最佳答案

不是推荐的解决方案,而是非常有用的解决方法:

  • 在项目的主目录中创建一个目录。我们称它为

    $projectBasseDir/lib

  • 将所有外部 jar 放在这个文件夹中。

  • 在 pom 文件中为您的依赖项添加如下范围和系统路径: < scope>system< /scope > < systemPath>${project.basedir}/lib/yourJar.jar< /systemPath>

  • 将这个 lib/目录推送到你在 github 上的项目仓库

  • Travis 构建工作正常

如果 jars 不存在于本地,那么我们需要在你的 repo 中添加一个 before_start 脚本,它基本上是这样做的: mkdir lib/ wget -P "lib/" <a href="http://urlForYourJar.jar" rel="noreferrer noopener nofollow">http://urlForYourJar.jar</a>

它再次运行良好。

关于maven - 如何将第 3 方 JAR 添加到我的 Travis-CI maven 构建中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28703491/

相关文章:

java - 如何从引用的java项目访问静态资源(WEB-INF)文件夹中的文件?

java - 如何设置 Eclipse 以跟踪导入的 Maven 依赖项中方法的源代码?

ruby-on-rails - Travis CI为每个Github提交推送创建两个构建

python - 在 Travis CI 上卡住 Python 应用程序

travis-ci - 在 travis-ci 中的阶段之间传递信息

java - Swagger Codegen,Maven 插件 : Restrict Server Generation

Maven:在 distributionManagement 内的 POM 中未指定存储库元素?

javascript - 将检查所有文件格式正确的测试添加到 Karma\Travis

android - 有没有办法在 Android Gradle 项目中只运行一组特定的仪器测试?

maven - Maven生命周期错误阶段发生的Grails单元测试