title: gradle java9 Could not target platform: 'Java SE 9' using tool chain: 'JDK 8 (1.8)'
body: <p>I want to use java9 on my gradle project inside eclipse oxygen. When I
   run: </p>
  
  <pre><code>Run as&gt; Gradle Test on  GreeterTest.java
  </code></pre>
  
  <p>with the following code:</p>
  
  <pre><code>package hello.test;
  
  import static org.junit.jupiter.api.Assertions.*;    
  import org.junit.jupiter.api.Test;    
  import hello.Greeter;
  
  class GreeterTest {
  
      @Test
      void test() {
          Greeter greeter = new Greeter();
          assertEquals("Hello world", greeter.sayHello());
      }
  }
  </code></pre>
  
  <p>and with the class I test as:</p>
  
  <pre><code>package hello;
  
  public class Greeter {
    public String sayHello() {
      return "Hello world!";
    }
  }
  </code></pre>
  
  <p>I get the error message  </p>
  
  <blockquote>
    <p>Could not target platform: 'Java SE 9' using
    tool chain: 'JDK 8 (1.8)'.</p>
  </blockquote>
  
  <p>My eclipse.init is</p>
  
  <blockquote>
  <pre><code>-startup ../Eclipse/plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
  --launcher.library /Users/stein/.p2/pool/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_\1.1.550.v20170928-1359
  -product org.eclipse.epp.package.jee.product
  -showsplash org.eclipse.epp.package.common
  --launcher.defaultAction openFile
  --launcher.a/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/jre/bin
  -vmargs
  -Dosgi.requiredJavaVersion=1.9
  -Dosgi.instance.area.default=@user.home/eclipse-workspace
  -XX:+UseG1GC
  -XX:+UseStringDeduplication
  --add-modules=ALL-SYSTEM
  -XstartOnFirstThread
  -Dorg.eclipse.swt.internal.carbon.smallFonts
  -Dosgi.requiredJavaVersion=1.9
  -Xms256m
  -Xmx1024m
  --add-modules=ALL-SYSTEM
  -Xdock:icon=../Resources/Eclipse.icns
  -XstartOnFirstThread
  -Dorg.eclipse.swt.internal.carbon.smallFonts
  -Declipse.p2.max.threads=10
  -Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
  -Doomph.redirection.index.redirection=index:/-&gt;http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
  </code></pre>
  </blockquote>
  
  <p><a href="https://i.stack.imgur.com/odTl9.png" rel="noreferrer">I have added JAVA_HOME</a></p>
  
  <p><a href="https://i.stack.imgur.com/y46c8.png" rel="noreferrer">I have added the build path</a></p>
  
  <p><a href="https://i.stack.imgur.com/18crZ.png" rel="noreferrer">I have change the compile parameter</a></p>
  
  <blockquote>
    <p>I have set the compile parameter in the Build.Gradle.</p>
  </blockquote>
  
  <pre><code>buildscript {
      repositories {
          mavenCentral()
      }
      dependencies {
          classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.2'
      }
  }
  
  repositories {
      mavenCentral()
  }
  
  ext.junit4Version        = '4.12'
  ext.junitVintageVersion  = '4.12.2'
  ext.junitPlatformVersion = '1.0.2'
  ext.junitJupiterVersion  = '5.0.2'
  ext.log4jVersion         = '2.9.0'
  
  apply plugin: 'java'
  apply plugin: 'eclipse'
  
  apply plugin: 'org.junit.platform.gradle.plugin'
  
  jar {
      baseName = 'junit5-gradle-consumer'
      version = '1.0.0-SNAPSHOT'
  }
  
  compileJava {
     sourceCompatibility = 9
     targetCompatibility = 9
  }
  
  compileTestJava {
      sourceCompatibility = 9
      targetCompatibility = 9
      options.compilerArgs += '-parameters'
  }
  
  junitPlatform {
      // platformVersion '1.0.2'
      filters {
          engines {
              // include 'junit-jupiter', 'junit-vintage'
              // exclude 'custom-engine'
          }
          tags {
              // include 'fast'
              exclude 'slow'
          }
          // includeClassNamePattern '.*Test'
      }
      // configurationParameter 'junit.jupiter.conditions.deactivate', '*'
      // enableStandardTestTask true
      // reportsDir file('build/test-results/junit-platform') // this is the default
      logManager 'org.apache.logging.log4j.jul.LogManager'
  }
  
  dependencies {
      // JUnit Jupiter API and TestEngine implementation
      testCompile("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
      testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")
  
      // If you also want to support JUnit 3 and JUnit 4 tests
      testCompile("junit:junit:${junit4Version}")
      testRuntime("org.junit.vintage:junit-vintage-engine:${junitVintageVersion}")
  
      // To avoid compiler warnings about @API annotations in JUnit code
      //testCompileOnly('org.apiguardian:apiguardian-api:1.0.0')
  
      // To use Log4J's LogManager
      testRuntime("org.apache.logging.log4j:log4j-core:${log4jVersion}")
      testRuntime("org.apache.logging.log4j:log4j-jul:${log4jVersion}")
  
      // Only needed to run tests in an (IntelliJ) IDE(A) that bundles an older version
      testRuntime("org.junit.platform:junit-platform-   launcher:${junitPlatformVersion}")
  }
  
  task wrapper(type: Wrapper) {
      description = 'Generates gradlew[.bat] scripts'
      gradleVersion = '4.1'
  }
  </code></pre>
  
  <blockquote>
    <p>What must I do to get this to run?</p>
  </blockquote>