# Elasticsearch with OpenJDK9

**URL:** <https://discuss.elastic.co/t/elasticsearch-with-openjdk9/90711>\
**Category:** Elasticsearch\
**Created:** [June 24, 2017, 11:43am UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk9/90711 "2017-06-24T11:43:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shahid\_Shaikh](https://avatars.discourse-cdn.com/v4/letter/s/8edcca/32.png) [@Shahid\_Shaikh](https://discuss.elastic.co/u/Shahid_Shaikh)\
**Post date:** [June 24, 2017, 11:43am UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk9/90711/1 "2017-06-24T11:43:39Z")

</div>

I m trying to build Elasticsearch with OpenJDK9. Initially I got following error:

```javascript
-bash-4.2$ gradle assemble
FAILURE: Build failed with an exception.
* What went wrong:
java.lang.ExceptionInInitializerError (no error message)

```

After setting 'JDK\_JAVA\_OPTIONS' I was able to proceed further:

```javascript
export JDK_JAVA_OPTIONS='--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED'

```

However now I am getting following error:

```javascript
:buildSrc:writeVersionProperties FAILED
FAILURE: Build failed with an exception.
* Where:
Build file '/.../buildSrc/build.gradle' line: 61
* What went wrong:
Execution failed for task ':buildSrc:writeVersionProperties'.
> No signature of method: static java.nio.file.Files.newOutputStream() is applicable for argument types: (sun.nio.fs.UnixPath) values: [/localbox/Benchmarking/elasticsearch/buildSrc/build-bootstrap/version.properties]

```

My build environment looks like:  
Elasticsearch version: 5.4.0  
Java: 9-internal  
Gradle: 3.3  
OS: RHEL7.3 Linux 3.10.0-514.16.1.el7.x86\_64 amd64

Any pointers/help is appreciated.

---

<div class="post-metadata">

**Author:** ![rjernst](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rjernst/32/6363_2.png) [@rjernst](https://discuss.elastic.co/u/rjernst)\
**Post date:** [June 26, 2017, 7:07pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk9/90711/2 "2017-06-26T19:07:07Z")

</div>

You can see all the read edges we add in our CI job output for the jdk 9 job:  
[https://elasticsearch-ci.elastic.co/view/Elasticsearch/job/elastic+elasticsearch+master+java9-periodic/3027/consoleFull](https://elasticsearch-ci.elastic.co/view/Elasticsearch/job/elastic+elasticsearch+master+java9-periodic/3027/consoleFull)

Specifically:

```auto
export 'GRADLE_OPTS=--add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED'

```

Also note that due to gradle not quite working with java 9 yet, we run gradle with java 8 by setting `org.gradle.java.home` to a jdk8 installation in our ~/gradle.properties, and then hava `JAVA_HOME` set to the jdk9 installation we are testing. The add opens are needed for gradle still because setting org.gradle.java.home is only respected _after_ gradle first does a minimal initialization on the java found from JAVA\_HOME.

---

<div class="post-metadata">

**Author:** ![Shahid\_Shaikh](https://avatars.discourse-cdn.com/v4/letter/s/8edcca/32.png) [@Shahid\_Shaikh](https://discuss.elastic.co/u/Shahid_Shaikh)\
**Post date:** [June 28, 2017, 9:57am UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk9/90711/3 "2017-06-28T09:57:16Z")

</div>

Thanks for your reply.

I am able to build Elasticsearch with Gradle and OpenJDK9 after exporting JDK\_JAVA\_OPTIONS='--permit-illegal-access' in the environment. I did encountered issue with Javadoc (Referred here: [https://github.com/elastic/elasticsearch/issues/24733](https://github.com/elastic/elasticsearch/issues/24733)) due to which I have temporarily disabled javadoc in build.gradle file.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 26, 2017, 9:57am UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk9/90711/4 "2017-07-26T09:57:36Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
