是否可以为Travis上运行的作业指定JDK的次要版本?我有一个失败的JavaFX项目,因为JDK 1.8.0_31用于执行构建,因为项目使用了一些仅在Java 1.8.0_40(特别是Alert和Spinner)中提供的类。
目前我的.travis.yml文件如下所示:
language: java
jdk:
- oraclejdk8
以下是failed build的链接,以防它有用。
答案 0 :(得分:6)
这个基于apt addon的解决方案对我有用:
std::string tmp("\0", 1);
tmp.append(strUserName);
tmp.append("\0", 1);
tmp.append(strPassword);
tmp = base64_encode(tmp.c_str(), tmp.length());
结果我有language: java
jdk:
- oraclejdk8
addons:
apt:
packages:
- oracle-java8-installer
。解决方案来源是here
答案 1 :(得分:5)
我终于开始工作了。这个解决方案并没有真正推荐,因为它使用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应该在下个月更新,因此请更新配置以缩短构建时间。