2019-07-16 17:28:00 +00:00
# setup-java
2019-08-12 19:12:48 +00:00
< p align = "left" >
< a href = "https://github.com/actions/setup-java" > < img alt = "GitHub Actions status" src = "https://github.com/actions/setup-java/workflows/Main%20workflow/badge.svg" > < / a >
< / p >
2019-07-17 14:56:53 +00:00
This action sets up a java environment for use in actions by:
2019-11-03 04:39:35 +00:00
- optionally downloading and caching a requested version of java by version and adding to PATH. Default downloads are populated from the [Zulu Community distribution of OpenJDK ](http://static.azul.com/zulu/bin/ )
2019-07-17 14:56:53 +00:00
- registering problem matchers for error output
# Usage
See [action.yml ](action.yml )
Basic:
```yaml
2019-07-26 01:24:28 +00:00
steps:
2019-11-08 16:40:52 +00:00
- uses: actions/checkout@v1
2019-08-01 13:40:31 +00:00
- uses: actions/setup-java@v1
2019-07-17 14:56:53 +00:00
with:
2019-11-22 21:26:10 +00:00
java-version: '9.0.4' # The JDK version to make available on the path. Takes a whole or semver JDK version, or 1.x syntax (e.g. 1.8 => Jdk 8.x). To specify a specific version for JDK 8 or older use the following pattern (8.0.x)
java-package: jdk # (jre, jdk, or jdk+fx) - defaults to jdk
architecture: x64 # (x64 or x86) - defaults to x64
2019-07-17 14:56:53 +00:00
- run: java -cp java HelloWorldApp
```
From local file:
```yaml
2019-07-26 01:24:28 +00:00
steps:
2019-11-08 16:40:52 +00:00
- uses: actions/checkout@v1
2019-08-01 13:40:31 +00:00
- uses: actions/setup-java@v1
2019-07-17 14:56:53 +00:00
with:
2019-08-13 20:24:39 +00:00
java-version: '4.0.0'
2019-07-17 14:56:53 +00:00
architecture: x64
2019-11-03 04:39:35 +00:00
jdkFile: < path to jdkFile > # Optional - jdkFile to install java from. Useful for versions not found on Zulu Community CDN
2019-07-17 14:56:53 +00:00
- run: java -cp java HelloWorldApp
```
Matrix Testing:
```yaml
jobs:
build:
2019-08-01 15:06:31 +00:00
runs-on: ubuntu-16.04
2019-07-17 14:56:53 +00:00
strategy:
matrix:
2019-11-03 04:39:35 +00:00
# test against latest update of each major Java version, as well as specific updates of LTS versions:
java: [ 1.6, 6.0.83, 7, 7.0.181, 8, 8.0.192, 9.0,x, 10, 11.0.x, 11.0.3, 12, 13 ]
2019-07-17 14:56:53 +00:00
name: Java ${{ matrix.java }} sample
2019-07-26 01:24:28 +00:00
steps:
2019-07-23 19:46:09 +00:00
- uses: actions/checkout@master
2019-07-17 14:56:53 +00:00
- name: Setup java
2019-08-01 13:40:31 +00:00
uses: actions/setup-java@v1
2019-07-17 14:56:53 +00:00
with:
2019-08-13 20:24:39 +00:00
java-version: ${{ matrix.java }}
2019-07-17 14:56:53 +00:00
- run: java -cp java HelloWorldApp
```
# License
The scripts and documentation in this project are released under the [MIT License ](LICENSE )
# Contributions
Contributions are welcome! See [Contributor's Guide ](docs/contributors.md )