Travis-CI构建Java项目:指定jdk为oraclejdk8时,发生错误分析及解决方案

11 篇文章 0 订阅


报错详情

Travis-CI构建Java项目,按照文档官方的介绍:https://docs.travis-ci.com/user/languages/java/,使用最简单的配置进行构建:指定jdk为oraclejdk8的构建文件.travis.yml:

language: java
sudo: false
jdk:
  - oraclejdk8

发生错误:

Installing oraclejdk8
$ export JAVA_HOME=~/oraclejdk8
$ export PATH="$JAVA_HOME/bin:$PATH"
$ ~/bin/install-jdk.sh --target "/home/travis/oraclejdk8" --workspace "/home/travis/.cache/install-jdk" --feature "8" --license "BCL"
Ignoring license option: BCL -- using GPLv2+CE by default
install-jdk.sh 2019-09-17
Expected feature release number in range of 9 to 14, but got: 8
The command "~/bin/install-jdk.sh --target "/home/travis/oraclejdk8" --workspace "/home/travis/.cache/install-jdk" --feature "8" --license "BCL"" failed and exited with 3 during .
Your build has been stopped.

报错分析

根据提示可以知道:在安装oraclejdk8时就发生错误了,好像是和--license "BCL"这个所谓的协议有关。去查了下这个协议BCL(Binary Code License):Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX,翻译过来就是:针对Java SE平台产品和JavaFX的Oracle二进制代码许可协议。

我们可以简单地理解为因为受这个协议的限制,导致在该机器上装不了oraclejdk8。现在在Oracle官网下载jdk要登录好像就是和这个有关系(个人猜测+道听途说)。

解决方案

逛了下 Travis-CI的社区,找到一篇出现相同问题的帖子:https://travis-ci.community/t/install-of-oracle-jdk-8-failing/3038,这里提到了一个方案是改用openjdk

Travis CI大概在2019年5月左右有次更新,好像是切换了部分的构建源,将之前的Ubuntu Trusty 14.04切换成了Ubuntu Xenial 16.04,详见:Travis CI更新日志–Xenial作为默认构建环境

科普:Ubuntu Xenial 16.04Ubuntu Trusty 14.04是两个不同的版本,介绍可参考:Ubuntu 各版本代号简介,或者查看具体的发现说明。

因此,还有一种办法是使用dist: trusty切换成之前的Ubuntu Trusty 14.04版本。

您的构建已迁移到我们的Xenial映像,因为您未dist:在.travis.yml文件中指定。请添加它dist: trusty以将其移回Trusty,这应该起作用。

总结一下:

1.改用openjdk

构建文件.travis.yml:

language: java
sudo: false
jdk:
  - openjdk8

2. 切换成之前的构建环境(Ubuntu Trusty 14.04版本)

构建文件.travis.yml:

language: java
dist: trusty
sudo: false
jdk:
  - oraclejdk8

存疑

  1. 上面两个方案是晚上见得比较多的,我使用方法1没有问题,方法2还没有进行测试,但是很多人都说这个方法可行。
  2. 在逛社区的时候,发现好像不仅仅是oraclejdk的版本8有问题,其它版本好像也有类似问题。好像和这个协议是有关系的,另外我们知道jdk1.8后面小版本更新好像是收费的,不知道和这个有没有关系……

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:书香水墨 设计师:CSDN官方博客 返回首页
评论

打赏作者

秦时明月之君临天下

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值