diff --git a/java/builder.go b/java/builder.go
index 67e8235..df17f7b 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -255,8 +255,7 @@
 	deps = append(deps, flags.classpath...)
 	deps = append(deps, flags.processorPath...)
 
-	// TODO(b/77284273): pass -processor:none if no plugins are listed
-	processor := ""
+	processor := "-proc:none"
 	if flags.processor != "" {
 		processor = "-processor " + flags.processor
 	}
diff --git a/java/java.go b/java/java.go
index a76cde5..b070639 100644
--- a/java/java.go
+++ b/java/java.go
@@ -114,9 +114,6 @@
 	// If set to true, include sources used to compile the module in to the final jar
 	Include_srcs *bool
 
-	// List of modules to use as annotation processors.  Deprecated, use plugins instead.
-	Annotation_processors []string
-
 	// List of modules to use as annotation processors
 	Plugins []string
 
@@ -376,7 +373,6 @@
 var (
 	staticLibTag          = dependencyTag{name: "staticlib"}
 	libTag                = dependencyTag{name: "javalib"}
-	annoTag               = dependencyTag{name: "annotation processor"}
 	pluginTag             = dependencyTag{name: "plugin"}
 	bootClasspathTag      = dependencyTag{name: "bootclasspath"}
 	systemModulesTag      = dependencyTag{name: "system modules"}
@@ -471,9 +467,6 @@
 
 	ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
 	ctx.AddVariationDependencies(nil, staticLibTag, j.properties.Static_libs...)
-	ctx.AddFarVariationDependencies([]blueprint.Variation{
-		{Mutator: "arch", Variation: ctx.Config().BuildOsCommonVariant},
-	}, annoTag, j.properties.Annotation_processors...)
 
 	ctx.AddFarVariationDependencies([]blueprint.Variation{
 		{Mutator: "arch", Variation: ctx.Config().BuildOsCommonVariant},
@@ -493,7 +486,7 @@
 		// TODO(ccross): move this to a mutator pass that can tell if generated sources contain
 		// Kotlin files
 		ctx.AddVariationDependencies(nil, kotlinStdlibTag, "kotlin-stdlib")
-		if len(j.properties.Annotation_processors) > 0 || len(j.properties.Plugins) > 0 {
+		if len(j.properties.Plugins) > 0 {
 			ctx.AddVariationDependencies(nil, kotlinAnnotationsTag, "kotlin-annotations")
 		}
 	}
@@ -718,8 +711,6 @@
 				deps.staticResourceJars = append(deps.staticResourceJars, dep.ResourceJars()...)
 				// sdk lib names from dependencies are re-exported
 				j.exportedSdkLibs = append(j.exportedSdkLibs, dep.ExportedSdkLibs()...)
-			case annoTag:
-				deps.processorPath = append(deps.processorPath, dep.ImplementationAndResourcesJars()...)
 			case pluginTag:
 				if plugin, ok := dep.(*Plugin); ok {
 					deps.processorPath = append(deps.processorPath, dep.ImplementationAndResourcesJars()...)
diff --git a/java/kotlin_test.go b/java/kotlin_test.go
index 9406ef9..e0eb0c0 100644
--- a/java/kotlin_test.go
+++ b/java/kotlin_test.go
@@ -149,9 +149,8 @@
 	if javac.Args["processorPath"] != "" {
 		t.Errorf("expected processorPath '', got %q", javac.Args["processorPath"])
 	}
-	// TODO(b/77284273): test for -processor:none
-	if javac.Args["processor"] != "" {
-		t.Errorf("expected processor '', got %q", javac.Args["processor"])
+	if javac.Args["processor"] != "-proc:none" {
+		t.Errorf("expected processor '-proc:none', got %q", javac.Args["processor"])
 	}
 }
 
diff --git a/java/plugin_test.go b/java/plugin_test.go
index 7aa0164..d1aef2c 100644
--- a/java/plugin_test.go
+++ b/java/plugin_test.go
@@ -38,9 +38,8 @@
 		t.Errorf("want empty processorpath, got %q", javac.Args["processorpath"])
 	}
 
-	// TODO(b/77284273): test for -processor:none if no plugins are enabled
-	if javac.Args["processor"] != "" {
-		t.Errorf("want no -processor argument, got %q", javac.Args["processor"])
+	if javac.Args["processor"] != "-proc:none" {
+		t.Errorf("want '-proc:none' argument, got %q", javac.Args["processor"])
 	}
 }
 
