背景: 我有一个使用基于Java 11的cassandra的反应驱动程序的spring-boot 2.3项目,但是,为了进行集成测试,当我启动嵌入式Cassandra数据库时,我依赖于机器上存在Java 8并附带环境变量JAVA8_HOME
问题: 如何配置GitHub操作setup-java来利用多个JDK进行构建,并让JAVA_HOME指向Java 11但JAVA8_HOME指向Java8?
答案 0 :(得分:2)
今天已经可以在 GitHub 操作中使用多个 JDK。一种很好且巧妙的方法是在您的 .github/workflows/maven.yml
中利用 strategy.matrix 作业配置:
name: github
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [ 8, 11, 15 ]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java-version }}
- run: mvn -B install --no-transfer-progress --file pom.xml
我没有检查这是否包括您需要的 JAVA_HOME
的环境变量配置 - 但它清楚地隔离了单独 Java 版本的构建环境。以下是使用此设置的完整示例项目:https://github.com/codecentric/cxf-spring-boot-starter 和 here's a green build log。
答案 1 :(得分:0)
并非完全是Java安装程序,但您可以尝试另一个Java安装操作:https://github.com/AdoptOpenJDK/install-jdk#multiple-jdks。使用target
属性设置环境变量以用作JAVA_HOME
。