Update the java flags to default as follows:
--java_langtools=@bazel_tools//tools/jdk:langtools
--javabuilder_top=@bazel_tools//tools/jdk:JavaBuilder_deploy.jar
--singlejar_top=@bazel_tools//tools/jdk:SingleJar_deploy.jar
--genclass_top=@bazel_tools//tools/jdk:GenClass_deploy.jar
--ijar_top=@bazel_tools//tools/jdk:ijar
--javac_bootclasspath=@bazel_tools//tools/jdk:bootclasspath
--javac_extdir=@bazel_tools//tools/jdk:extdir
--java_toolchain=@bazel_tools//tools/jdk:toolchain
--host_javabase=@bazel_tools//tools/jdk:jdk
--javabase=@bazel_tools//tools/jdk:jdk

--
MOS_MIGRATED_REVID=118692509
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
index d73f5c0..e7e5fef 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
@@ -16,9 +16,7 @@
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Multimap;
-import com.google.devtools.build.lib.Constants;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
-import com.google.devtools.build.lib.analysis.config.BuildConfiguration.DefaultLabelConverter;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration.LabelConverter;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDepsConverter;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDepsMode;
@@ -28,11 +26,9 @@
 import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
 import com.google.devtools.build.lib.rules.java.JavaConfiguration.JavaClasspathMode;
 import com.google.devtools.build.lib.rules.java.JavaConfiguration.JavaOptimizationMode;
-import com.google.devtools.common.options.Converter;
 import com.google.devtools.common.options.Converters.StringSetConverter;
 import com.google.devtools.common.options.EnumConverter;
 import com.google.devtools.common.options.Option;
-import com.google.devtools.common.options.OptionsParsingException;
 import com.google.devtools.common.options.TriState;
 
 import java.util.HashMap;
@@ -47,75 +43,6 @@
 public class JavaOptions extends FragmentOptions {
   public static final String DEFAULT_LANGTOOLS = "//tools/jdk:langtools";
 
-  /** Converter for --javabase and --host_javabase. */
-  public static class JavabaseConverter implements Converter<String> {
-    @Override
-    public String convert(String input) throws OptionsParsingException {
-      return input.isEmpty() ? Constants.TOOLS_REPOSITORY + "//tools/jdk:jdk" : input;
-    }
-
-    @Override
-    public String getTypeDescription() {
-      return "a string";
-    }
-  }
-
-  /** Converter for --java_langtools. */
-  public static class LangtoolsConverter extends DefaultLabelConverter {
-    public LangtoolsConverter() {
-      super(Constants.TOOLS_REPOSITORY + DEFAULT_LANGTOOLS);
-    }
-  }
-
-  /** Converter for --javac_bootclasspath. */
-  public static class BootclasspathConverter extends DefaultLabelConverter {
-    public BootclasspathConverter() {
-      super(Constants.TOOLS_REPOSITORY + "//tools/jdk:bootclasspath");
-    }
-  }
-
-  /** Converter for --javac_extdir. */
-  public static class ExtdirConverter extends DefaultLabelConverter {
-    public ExtdirConverter() {
-      super(Constants.TOOLS_REPOSITORY + "//tools/jdk:extdir");
-    }
-  }
-
-  /** Converter for --javabuilder_top. */
-  public static class JavaBuilderConverter extends DefaultLabelConverter {
-    public JavaBuilderConverter() {
-      super(Constants.TOOLS_REPOSITORY + "//tools/jdk:JavaBuilder_deploy.jar");
-    }
-  }
-
-  /** Converter for --singlejar_top. */
-  public static class SingleJarConverter extends DefaultLabelConverter {
-    public SingleJarConverter() {
-      super(Constants.TOOLS_REPOSITORY + "//tools/jdk:SingleJar_deploy.jar");
-    }
-  }
-
-  /** Converter for --genclass_top. */
-  public static class GenClassConverter extends DefaultLabelConverter {
-    public GenClassConverter() {
-      super(Constants.TOOLS_REPOSITORY + "//tools/jdk:GenClass_deploy.jar");
-    }
-  }
-
-  /** Converter for --ijar_top. */
-  public static class IjarConverter extends DefaultLabelConverter {
-    public IjarConverter() {
-      super(Constants.TOOLS_REPOSITORY + "//tools/jdk:ijar");
-    }
-  }
-
-  /** Converter for --java_toolchain. */
-  public static class JavaToolchainConverter extends DefaultLabelConverter {
-    public JavaToolchainConverter() {
-      super(Constants.TOOLS_REPOSITORY + "//tools/jdk:toolchain");
-    }
-  }
-
   /**
    * Converter for the --javawarn option.
    */
@@ -172,8 +99,7 @@
   }
 
   @Option(name = "javabase",
-      defaultValue = "",
-      converter = JavabaseConverter.class,
+      defaultValue = "@bazel_tools//tools/jdk:jdk",
       category = "version",
       help = "JAVABASE used for the JDK invoked by Blaze. This is the "
           + "JAVABASE which will be used to execute external Java "
@@ -181,15 +107,14 @@
   public String javaBase;
 
   @Option(name = "java_toolchain",
-      defaultValue = "",
+      defaultValue = "@bazel_tools//tools/jdk:toolchain",
       category = "version",
-      converter = JavaToolchainConverter.class,
+      converter = LabelConverter.class,
       help = "The name of the toolchain rule for Java.")
   public Label javaToolchain;
 
   @Option(name = "host_javabase",
-      defaultValue = "",
-      converter = JavabaseConverter.class,
+      defaultValue = "@bazel_tools//tools/jdk:jdk",
       category = "version",
       help = "JAVABASE used for the host JDK. This is the JAVABASE which is used to execute "
            + " tools during a build.")
@@ -290,51 +215,51 @@
   public StrictDepsMode strictJavaDeps;
 
   @Option(name = "javabuilder_top",
-      defaultValue = "",
+      defaultValue = "@bazel_tools//tools/jdk:JavaBuilder_deploy.jar",
       category = "version",
-      converter = JavaBuilderConverter.class,
+      converter = LabelConverter.class,
       help = "Label of the filegroup that contains the JavaBuilder jar.")
   public Label javaBuilderTop;
 
   @Option(name = "singlejar_top",
-      defaultValue = "",
+      defaultValue = "@bazel_tools//tools/jdk:SingleJar_deploy.jar",
       category = "version",
-      converter = SingleJarConverter.class,
+      converter = LabelConverter.class,
       help = "Label of the filegroup that contains the SingleJar jar.")
   public Label singleJarTop;
 
   @Option(name = "genclass_top",
-      defaultValue = "",
+      defaultValue = "@bazel_tools//tools/jdk:GenClass_deploy.jar",
       category = "version",
-      converter = GenClassConverter.class,
+      converter = LabelConverter.class,
       help = "Label of the filegroup that contains the GenClass jar.")
   public Label genClassTop;
 
   @Option(name = "ijar_top",
-      defaultValue = "",
+      defaultValue = "@bazel_tools//tools/jdk:ijar",
       category = "version",
-      converter = IjarConverter.class,
+      converter = LabelConverter.class,
       help = "Label of the filegroup that contains the ijar binary.")
   public Label iJarTop;
 
   @Option(name = "java_langtools",
-      defaultValue = "",
+      defaultValue = "@bazel_tools" + DEFAULT_LANGTOOLS,
       category = "version",
-      converter = LangtoolsConverter.class,
+      converter = LabelConverter.class,
       help = "Label of the rule that produces the Java langtools jar.")
   public Label javaLangtoolsJar;
 
   @Option(name = "javac_bootclasspath",
-      defaultValue = "",
+      defaultValue = "@bazel_tools//tools/jdk:bootclasspath",
       category = "version",
-      converter = BootclasspathConverter.class,
+      converter = LabelConverter.class,
       help = "Label of the rule that produces the bootclasspath jars for javac to use.")
   public Label javacBootclasspath;
 
   @Option(name = "javac_extdir",
-      defaultValue = "",
+      defaultValue = "@bazel_tools//tools/jdk:extdir",
       category = "version",
-      converter = ExtdirConverter.class,
+      converter = LabelConverter.class,
       help = "Label of the rule that produces the extdir for javac to use.")
   public Label javacExtdir;
 
@@ -419,6 +344,7 @@
     host.singleJarTop = singleJarTop;
     host.genClassTop = genClassTop;
     host.iJarTop = iJarTop;
+    host.javacBootclasspath = javacBootclasspath;
 
     // Java builds often contain complicated code generators for which
     // incremental build performance is important.
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/DefaultsPackageUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/util/DefaultsPackageUtil.java
index 8947c84..d8a4c56 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/DefaultsPackageUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/DefaultsPackageUtil.java
@@ -18,6 +18,8 @@
 import com.google.devtools.build.lib.analysis.config.BuildOptions;
 import com.google.devtools.build.lib.analysis.config.DefaultsPackage;
 import com.google.devtools.build.lib.analysis.config.FragmentOptions;
+import com.google.devtools.build.lib.flags.InvocationPolicyEnforcer;
+import com.google.devtools.build.lib.testutil.TestConstants;
 import com.google.devtools.common.options.OptionsBase;
 import com.google.devtools.common.options.OptionsParser;
 import com.google.devtools.common.options.OptionsParsingException;
@@ -33,6 +35,11 @@
         ImmutableList.<Class<? extends OptionsBase>>of(
             BuildConfiguration.Options.class, optionsClass));
     parser.parse(options);
+
+    InvocationPolicyEnforcer enforcer =
+        new InvocationPolicyEnforcer(TestConstants.TEST_INVOCATION_POLICY);
+    enforcer.enforce(parser);
+
     return DefaultsPackage.getDefaultsPackageContent(BuildOptions.of(
         ImmutableList.<Class<? extends FragmentOptions>>of(
             BuildConfiguration.Options.class, optionsClass), parser));