你能为 travis ci 指定 cif 次要 jdk 版本吗

Can you specify minor jdk version for travis ci

是否可以为 Travis 上的作业 运行 指定 JDK 的次要版本?我有一个 JavaFX 项目失败了,因为 JDK 1.8.0_31 被用于执行构建,因为项目使用了一些 类,这些 类 仅在 Java 1.8.0_40(特别是 Alert 和 Spinner)。

目前我的 .travis.yml 文件如下所示:

language: java

jdk:
  - oraclejdk8

这是 failed build 的 link 以备不时之需。

我终于让它工作了。这个解决方案并不真正推荐,因为它使用 linuxbrew 安装 Oracle JDK 8.0_40。感谢 zrcoder on Github 我得到了这个 .travis.yml:

language: java

branches:
  only:
  - master

notifications:
  email: false

before_install:
    - rm -rf ~/.linuxbrew
    - yes | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"
    - export PATH="$HOME/.linuxbrew/bin:$PATH"
    - export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
    - export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"
    - brew install jdk
    - export JAVA_HOME=/home/travis/.linuxbrew/Cellar/jdk/1.8.0-40

虽然这可行,但 Travis-CI 应该会在下个月更新,因此请更新您的配置以缩短构建时间。

这个基于 apt addon 的解决方案适用于我:

language: java

jdk:
  - oraclejdk8

addons:
  apt:
    packages:
      - oracle-java8-installer

结果我有 java version "1.8.0_91"。解决方案来源是here

我推荐使用 Travis CI 的 Trusty build environment,它使用比默认 Precise 环境更新的软件。它比在每个版本上重新下载最新的 JDK 更快更可靠。

只需将以下内容添加到 .travis.yml

的顶层
dist: trusty