diff --git a/java/BUILD.bazel b/java/BUILD.bazel
index 9169ef232..648a12c52 100644
--- a/java/BUILD.bazel
+++ b/java/BUILD.bazel
@@ -65,6 +65,7 @@ define_java_module(
"@maven//:com_beust_jcommander",
"@maven//:org_testng_testng",
"@maven//:commons_io_commons_io",
+ "@maven//:javax_xml_bind_jaxb_api",
],
visibility = ["//visibility:public"],
deps = [
diff --git a/java/runtime/pom.xml b/java/runtime/pom.xml
index f7f81e866..adb7153ac 100644
--- a/java/runtime/pom.xml
+++ b/java/runtime/pom.xml
@@ -52,6 +52,11 @@
fst
2.57
+
+ javax.xml.bind
+ jaxb-api
+ 2.3.0
+
log4j
log4j
diff --git a/java/test/src/main/java/io/ray/api/test/UniqueIdTest.java b/java/runtime/src/test/java/io/ray/runtime/UniqueIdTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/UniqueIdTest.java
rename to java/runtime/src/test/java/io/ray/runtime/UniqueIdTest.java
index a396d3b0d..25704f321 100644
--- a/java/test/src/main/java/io/ray/api/test/UniqueIdTest.java
+++ b/java/runtime/src/test/java/io/ray/runtime/UniqueIdTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.runtime;
import io.ray.api.id.UniqueId;
import io.ray.runtime.util.IdUtil;
diff --git a/java/test/src/main/java/io/ray/api/test/RayConfigTest.java b/java/runtime/src/test/java/io/ray/runtime/config/RayConfigTest.java
similarity index 95%
rename from java/test/src/main/java/io/ray/api/test/RayConfigTest.java
rename to java/runtime/src/test/java/io/ray/runtime/config/RayConfigTest.java
index 69b1c3045..a30ebbfe4 100644
--- a/java/test/src/main/java/io/ray/api/test/RayConfigTest.java
+++ b/java/runtime/src/test/java/io/ray/runtime/config/RayConfigTest.java
@@ -1,6 +1,5 @@
-package io.ray.api.test;
+package io.ray.runtime.config;
-import io.ray.runtime.config.RayConfig;
import io.ray.runtime.generated.Common.WorkerType;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/java/runtime/src/test/java/io/ray/runtime/serializer/SerializerTest.java b/java/runtime/src/test/java/io/ray/runtime/serializer/SerializerTest.java
index f4b4f6934..5562b637f 100644
--- a/java/runtime/src/test/java/io/ray/runtime/serializer/SerializerTest.java
+++ b/java/runtime/src/test/java/io/ray/runtime/serializer/SerializerTest.java
@@ -1,6 +1,5 @@
package io.ray.runtime.serializer;
-import io.ray.runtime.serializer.Serializer;
import java.util.ArrayList;
import org.apache.commons.lang3.tuple.Pair;
import org.testng.Assert;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/ActorPressTest.java b/java/test/src/main/java/io/ray/benchmark/ActorPressTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/benchmark/ActorPressTest.java
rename to java/test/src/main/java/io/ray/benchmark/ActorPressTest.java
index 244231c06..f0cf4ae8d 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/ActorPressTest.java
+++ b/java/test/src/main/java/io/ray/benchmark/ActorPressTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/MaxPressureTest.java b/java/test/src/main/java/io/ray/benchmark/MaxPressureTest.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/benchmark/MaxPressureTest.java
rename to java/test/src/main/java/io/ray/benchmark/MaxPressureTest.java
index d2738504a..44ac89af4 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/MaxPressureTest.java
+++ b/java/test/src/main/java/io/ray/benchmark/MaxPressureTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/MicroBenchmarks.java b/java/test/src/main/java/io/ray/benchmark/MicroBenchmarks.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/benchmark/MicroBenchmarks.java
rename to java/test/src/main/java/io/ray/benchmark/MicroBenchmarks.java
index 1be40a50b..147afa63d 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/MicroBenchmarks.java
+++ b/java/test/src/main/java/io/ray/benchmark/MicroBenchmarks.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import io.ray.api.Ray;
import org.slf4j.Logger;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/PressureTestParameter.java b/java/test/src/main/java/io/ray/benchmark/PressureTestParameter.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/benchmark/PressureTestParameter.java
rename to java/test/src/main/java/io/ray/benchmark/PressureTestParameter.java
index 5e25da5bf..6d14765cc 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/PressureTestParameter.java
+++ b/java/test/src/main/java/io/ray/benchmark/PressureTestParameter.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import io.ray.api.ActorHandle;
import java.io.Serializable;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/PressureTestType.java b/java/test/src/main/java/io/ray/benchmark/PressureTestType.java
similarity index 71%
rename from java/test/src/main/java/io/ray/api/benchmark/PressureTestType.java
rename to java/test/src/main/java/io/ray/benchmark/PressureTestType.java
index 4a47c737e..30b282250 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/PressureTestType.java
+++ b/java/test/src/main/java/io/ray/benchmark/PressureTestType.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
public enum PressureTestType {
diff --git a/java/test/src/main/java/io/ray/api/benchmark/RateLimiterPressureTest.java b/java/test/src/main/java/io/ray/benchmark/RateLimiterPressureTest.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/benchmark/RateLimiterPressureTest.java
rename to java/test/src/main/java/io/ray/benchmark/RateLimiterPressureTest.java
index 8f3782abf..048048ad0 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/RateLimiterPressureTest.java
+++ b/java/test/src/main/java/io/ray/benchmark/RateLimiterPressureTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/RayBenchmarkTest.java b/java/test/src/main/java/io/ray/benchmark/RayBenchmarkTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/benchmark/RayBenchmarkTest.java
rename to java/test/src/main/java/io/ray/benchmark/RayBenchmarkTest.java
index 4c3215388..7f5c0d3d5 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/RayBenchmarkTest.java
+++ b/java/test/src/main/java/io/ray/benchmark/RayBenchmarkTest.java
@@ -1,11 +1,11 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import com.google.common.util.concurrent.RateLimiter;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
import io.ray.api.function.RayFunc1;
-import io.ray.api.test.BaseTest;
+import io.ray.test.BaseTest;
import java.io.Serializable;
import java.text.DecimalFormat;
import java.util.ArrayList;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/RemoteResult.java b/java/test/src/main/java/io/ray/benchmark/RemoteResult.java
similarity index 94%
rename from java/test/src/main/java/io/ray/api/benchmark/RemoteResult.java
rename to java/test/src/main/java/io/ray/benchmark/RemoteResult.java
index deea5326b..9caddfaaa 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/RemoteResult.java
+++ b/java/test/src/main/java/io/ray/benchmark/RemoteResult.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import java.io.Serializable;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/RemoteResultWrapper.java b/java/test/src/main/java/io/ray/benchmark/RemoteResultWrapper.java
similarity index 94%
rename from java/test/src/main/java/io/ray/api/benchmark/RemoteResultWrapper.java
rename to java/test/src/main/java/io/ray/benchmark/RemoteResultWrapper.java
index 5c0625edc..0e9b7e488 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/RemoteResultWrapper.java
+++ b/java/test/src/main/java/io/ray/benchmark/RemoteResultWrapper.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import io.ray.api.ObjectRef;
diff --git a/java/test/src/main/java/io/ray/api/benchmark/SingleLatencyTest.java b/java/test/src/main/java/io/ray/benchmark/SingleLatencyTest.java
similarity index 96%
rename from java/test/src/main/java/io/ray/api/benchmark/SingleLatencyTest.java
rename to java/test/src/main/java/io/ray/benchmark/SingleLatencyTest.java
index 72255da31..d71e4bf8b 100644
--- a/java/test/src/main/java/io/ray/api/benchmark/SingleLatencyTest.java
+++ b/java/test/src/main/java/io/ray/benchmark/SingleLatencyTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.benchmark;
+package io.ray.benchmark;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
diff --git a/java/test/src/main/java/io/ray/api/test/ActorConcurrentCallTest.java b/java/test/src/main/java/io/ray/test/ActorConcurrentCallTest.java
similarity index 96%
rename from java/test/src/main/java/io/ray/api/test/ActorConcurrentCallTest.java
rename to java/test/src/main/java/io/ray/test/ActorConcurrentCallTest.java
index d09ef91a7..f0ffcea5f 100644
--- a/java/test/src/main/java/io/ray/api/test/ActorConcurrentCallTest.java
+++ b/java/test/src/main/java/io/ray/test/ActorConcurrentCallTest.java
@@ -1,17 +1,15 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.options.ActorCreationOptions;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import org.testng.Assert;
import org.testng.annotations.Test;
-
@Test
public class ActorConcurrentCallTest extends BaseTest {
diff --git a/java/test/src/main/java/io/ray/api/test/ActorRestartTest.java b/java/test/src/main/java/io/ray/test/ActorRestartTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/ActorRestartTest.java
rename to java/test/src/main/java/io/ray/test/ActorRestartTest.java
index a4667304f..05c22a334 100644
--- a/java/test/src/main/java/io/ray/api/test/ActorRestartTest.java
+++ b/java/test/src/main/java/io/ray/test/ActorRestartTest.java
@@ -1,9 +1,8 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ActorHandle;
import io.ray.api.Checkpointable;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.exception.RayActorException;
import io.ray.api.id.ActorId;
import io.ray.api.id.UniqueId;
diff --git a/java/test/src/main/java/io/ray/api/test/ActorTest.java b/java/test/src/main/java/io/ray/test/ActorTest.java
similarity index 99%
rename from java/test/src/main/java/io/ray/api/test/ActorTest.java
rename to java/test/src/main/java/io/ray/test/ActorTest.java
index 9d53501d2..5b9623bb2 100644
--- a/java/test/src/main/java/io/ray/api/test/ActorTest.java
+++ b/java/test/src/main/java/io/ray/test/ActorTest.java
@@ -1,11 +1,10 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.PyActorHandle;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.exception.UnreconstructableException;
import io.ray.api.id.ActorId;
import io.ray.api.id.UniqueId;
diff --git a/java/test/src/main/java/io/ray/api/test/BaseMultiLanguageTest.java b/java/test/src/main/java/io/ray/test/BaseMultiLanguageTest.java
similarity index 99%
rename from java/test/src/main/java/io/ray/api/test/BaseMultiLanguageTest.java
rename to java/test/src/main/java/io/ray/test/BaseMultiLanguageTest.java
index 13298e5e5..3f415653b 100644
--- a/java/test/src/main/java/io/ray/api/test/BaseMultiLanguageTest.java
+++ b/java/test/src/main/java/io/ray/test/BaseMultiLanguageTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
diff --git a/java/test/src/main/java/io/ray/api/test/BaseTest.java b/java/test/src/main/java/io/ray/test/BaseTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/BaseTest.java
rename to java/test/src/main/java/io/ray/test/BaseTest.java
index 64b3d87b8..14643ec59 100644
--- a/java/test/src/main/java/io/ray/api/test/BaseTest.java
+++ b/java/test/src/main/java/io/ray/test/BaseTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.Ray;
diff --git a/java/test/src/main/java/io/ray/api/test/ClassLoaderTest.java b/java/test/src/main/java/io/ray/test/ClassLoaderTest.java
similarity index 99%
rename from java/test/src/main/java/io/ray/api/test/ClassLoaderTest.java
rename to java/test/src/main/java/io/ray/test/ClassLoaderTest.java
index 5a6469096..dd19096e9 100644
--- a/java/test/src/main/java/io/ray/api/test/ClassLoaderTest.java
+++ b/java/test/src/main/java/io/ray/test/ClassLoaderTest.java
@@ -1,10 +1,9 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ActorHandle;
import io.ray.api.BaseActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.options.ActorCreationOptions;
import io.ray.runtime.AbstractRayRuntime;
import io.ray.runtime.functionmanager.FunctionDescriptor;
diff --git a/java/test/src/main/java/io/ray/api/test/CrossLanguageInvocationTest.java b/java/test/src/main/java/io/ray/test/CrossLanguageInvocationTest.java
similarity index 99%
rename from java/test/src/main/java/io/ray/api/test/CrossLanguageInvocationTest.java
rename to java/test/src/main/java/io/ray/test/CrossLanguageInvocationTest.java
index 9a3f7e9a7..9015576c5 100644
--- a/java/test/src/main/java/io/ray/api/test/CrossLanguageInvocationTest.java
+++ b/java/test/src/main/java/io/ray/test/CrossLanguageInvocationTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
diff --git a/java/test/src/main/java/io/ray/api/test/DynamicResourceTest.java b/java/test/src/main/java/io/ray/test/DynamicResourceTest.java
similarity index 96%
rename from java/test/src/main/java/io/ray/api/test/DynamicResourceTest.java
rename to java/test/src/main/java/io/ray/test/DynamicResourceTest.java
index ec180e3a1..b1bd48878 100644
--- a/java/test/src/main/java/io/ray/api/test/DynamicResourceTest.java
+++ b/java/test/src/main/java/io/ray/test/DynamicResourceTest.java
@@ -1,10 +1,9 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.WaitResult;
import io.ray.api.options.CallOptions;
import io.ray.api.runtimecontext.NodeInfo;
diff --git a/java/test/src/main/java/io/ray/api/test/FailureTest.java b/java/test/src/main/java/io/ray/test/FailureTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/FailureTest.java
rename to java/test/src/main/java/io/ray/test/FailureTest.java
index ab2f57760..4a8686e3f 100644
--- a/java/test/src/main/java/io/ray/api/test/FailureTest.java
+++ b/java/test/src/main/java/io/ray/test/FailureTest.java
@@ -1,9 +1,8 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.exception.RayActorException;
import io.ray.api.exception.RayException;
import io.ray.api.exception.RayTaskException;
diff --git a/java/test/src/main/java/io/ray/api/test/GcsClientTest.java b/java/test/src/main/java/io/ray/test/GcsClientTest.java
similarity index 96%
rename from java/test/src/main/java/io/ray/api/test/GcsClientTest.java
rename to java/test/src/main/java/io/ray/test/GcsClientTest.java
index 3ccf24dd1..a26f323c3 100644
--- a/java/test/src/main/java/io/ray/api/test/GcsClientTest.java
+++ b/java/test/src/main/java/io/ray/test/GcsClientTest.java
@@ -1,7 +1,6 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.base.Preconditions;
-import io.ray.api.TestUtils;
import io.ray.api.id.JobId;
import io.ray.api.runtimecontext.NodeInfo;
import io.ray.runtime.config.RayConfig;
diff --git a/java/test/src/main/java/io/ray/api/test/HelloWorldTest.java b/java/test/src/main/java/io/ray/test/HelloWorldTest.java
similarity index 96%
rename from java/test/src/main/java/io/ray/api/test/HelloWorldTest.java
rename to java/test/src/main/java/io/ray/test/HelloWorldTest.java
index f02cf6fd3..910162f5c 100644
--- a/java/test/src/main/java/io/ray/api/test/HelloWorldTest.java
+++ b/java/test/src/main/java/io/ray/test/HelloWorldTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
diff --git a/java/test/src/main/java/io/ray/api/test/KillActorTest.java b/java/test/src/main/java/io/ray/test/KillActorTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/KillActorTest.java
rename to java/test/src/main/java/io/ray/test/KillActorTest.java
index 69345030f..68df29924 100644
--- a/java/test/src/main/java/io/ray/api/test/KillActorTest.java
+++ b/java/test/src/main/java/io/ray/test/KillActorTest.java
@@ -1,10 +1,9 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.exception.RayActorException;
import io.ray.api.options.ActorCreationOptions;
import java.util.function.BiConsumer;
diff --git a/java/test/src/main/java/io/ray/api/test/MultiLanguageClusterTest.java b/java/test/src/main/java/io/ray/test/MultiLanguageClusterTest.java
similarity index 94%
rename from java/test/src/main/java/io/ray/api/test/MultiLanguageClusterTest.java
rename to java/test/src/main/java/io/ray/test/MultiLanguageClusterTest.java
index bfe287f3c..241e7cc2b 100644
--- a/java/test/src/main/java/io/ray/api/test/MultiLanguageClusterTest.java
+++ b/java/test/src/main/java/io/ray/test/MultiLanguageClusterTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
diff --git a/java/test/src/main/java/io/ray/api/test/MultiThreadingTest.java b/java/test/src/main/java/io/ray/test/MultiThreadingTest.java
similarity index 99%
rename from java/test/src/main/java/io/ray/api/test/MultiThreadingTest.java
rename to java/test/src/main/java/io/ray/test/MultiThreadingTest.java
index d1c5487a1..1d609c307 100644
--- a/java/test/src/main/java/io/ray/api/test/MultiThreadingTest.java
+++ b/java/test/src/main/java/io/ray/test/MultiThreadingTest.java
@@ -1,10 +1,9 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.WaitResult;
import io.ray.api.exception.RayException;
import io.ray.api.id.ActorId;
diff --git a/java/test/src/main/java/io/ray/api/test/ObjectStoreTest.java b/java/test/src/main/java/io/ray/test/ObjectStoreTest.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/test/ObjectStoreTest.java
rename to java/test/src/main/java/io/ray/test/ObjectStoreTest.java
index c4793fb22..308763061 100644
--- a/java/test/src/main/java/io/ray/api/test/ObjectStoreTest.java
+++ b/java/test/src/main/java/io/ray/test/ObjectStoreTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ObjectRef;
diff --git a/java/test/src/main/java/io/ray/api/test/PlasmaFreeTest.java b/java/test/src/main/java/io/ray/test/PlasmaFreeTest.java
similarity index 96%
rename from java/test/src/main/java/io/ray/api/test/PlasmaFreeTest.java
rename to java/test/src/main/java/io/ray/test/PlasmaFreeTest.java
index 68f6dadb3..072d86732 100644
--- a/java/test/src/main/java/io/ray/api/test/PlasmaFreeTest.java
+++ b/java/test/src/main/java/io/ray/test/PlasmaFreeTest.java
@@ -1,9 +1,8 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.id.TaskId;
import java.util.Arrays;
import org.testng.Assert;
diff --git a/java/test/src/main/java/io/ray/api/test/PlasmaStoreTest.java b/java/test/src/main/java/io/ray/test/PlasmaStoreTest.java
similarity index 92%
rename from java/test/src/main/java/io/ray/api/test/PlasmaStoreTest.java
rename to java/test/src/main/java/io/ray/test/PlasmaStoreTest.java
index 29b1b271e..d92a98edd 100644
--- a/java/test/src/main/java/io/ray/api/test/PlasmaStoreTest.java
+++ b/java/test/src/main/java/io/ray/test/PlasmaStoreTest.java
@@ -1,7 +1,6 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.id.ObjectId;
import io.ray.runtime.object.ObjectStore;
import org.testng.Assert;
diff --git a/java/test/src/main/java/io/ray/api/test/RayCallTest.java b/java/test/src/main/java/io/ray/test/RayCallTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/RayCallTest.java
rename to java/test/src/main/java/io/ray/test/RayCallTest.java
index 01f9781b2..292a80b76 100644
--- a/java/test/src/main/java/io/ray/api/test/RayCallTest.java
+++ b/java/test/src/main/java/io/ray/test/RayCallTest.java
@@ -1,9 +1,8 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.id.ObjectId;
import java.util.List;
import java.util.Map;
diff --git a/java/test/src/main/java/io/ray/api/test/RayMethodsTest.java b/java/test/src/main/java/io/ray/test/RayMethodsTest.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/test/RayMethodsTest.java
rename to java/test/src/main/java/io/ray/test/RayMethodsTest.java
index 8886195d2..296a41cef 100644
--- a/java/test/src/main/java/io/ray/api/test/RayMethodsTest.java
+++ b/java/test/src/main/java/io/ray/test/RayMethodsTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ObjectRef;
diff --git a/java/test/src/main/java/io/ray/api/test/RaySerializerTest.java b/java/test/src/main/java/io/ray/test/RaySerializerTest.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/test/RaySerializerTest.java
rename to java/test/src/main/java/io/ray/test/RaySerializerTest.java
index a6a8d8a55..557ce80e5 100644
--- a/java/test/src/main/java/io/ray/api/test/RaySerializerTest.java
+++ b/java/test/src/main/java/io/ray/test/RaySerializerTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.PyActorHandle;
import io.ray.api.Ray;
diff --git a/java/test/src/main/java/io/ray/api/test/RayletConfigTest.java b/java/test/src/main/java/io/ray/test/RayletConfigTest.java
similarity index 95%
rename from java/test/src/main/java/io/ray/api/test/RayletConfigTest.java
rename to java/test/src/main/java/io/ray/test/RayletConfigTest.java
index fe5ac19d3..b0ad458b1 100644
--- a/java/test/src/main/java/io/ray/api/test/RayletConfigTest.java
+++ b/java/test/src/main/java/io/ray/test/RayletConfigTest.java
@@ -1,8 +1,7 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ActorHandle;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
diff --git a/java/test/src/main/java/io/ray/api/test/RedisPasswordTest.java b/java/test/src/main/java/io/ray/test/RedisPasswordTest.java
similarity index 96%
rename from java/test/src/main/java/io/ray/api/test/RedisPasswordTest.java
rename to java/test/src/main/java/io/ray/test/RedisPasswordTest.java
index 027ab6bee..54b97c21a 100644
--- a/java/test/src/main/java/io/ray/api/test/RedisPasswordTest.java
+++ b/java/test/src/main/java/io/ray/test/RedisPasswordTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
diff --git a/java/test/src/main/java/io/ray/api/test/ResourcesManagementTest.java b/java/test/src/main/java/io/ray/test/ResourcesManagementTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/ResourcesManagementTest.java
rename to java/test/src/main/java/io/ray/test/ResourcesManagementTest.java
index a8cd2309e..c973243de 100644
--- a/java/test/src/main/java/io/ray/api/test/ResourcesManagementTest.java
+++ b/java/test/src/main/java/io/ray/test/ResourcesManagementTest.java
@@ -1,11 +1,10 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.WaitResult;
import io.ray.api.options.ActorCreationOptions;
import io.ray.api.options.CallOptions;
diff --git a/java/test/src/main/java/io/ray/api/test/RuntimeContextTest.java b/java/test/src/main/java/io/ray/test/RuntimeContextTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/RuntimeContextTest.java
rename to java/test/src/main/java/io/ray/test/RuntimeContextTest.java
index b2f4e9abb..bc935a6bf 100644
--- a/java/test/src/main/java/io/ray/api/test/RuntimeContextTest.java
+++ b/java/test/src/main/java/io/ray/test/RuntimeContextTest.java
@@ -1,4 +1,4 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ActorHandle;
import io.ray.api.Ray;
diff --git a/java/test/src/main/java/io/ray/api/test/SingleProcessModeTest.java b/java/test/src/main/java/io/ray/test/SingleProcessModeTest.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/test/SingleProcessModeTest.java
rename to java/test/src/main/java/io/ray/test/SingleProcessModeTest.java
index 70de2f851..840feddcb 100644
--- a/java/test/src/main/java/io/ray/api/test/SingleProcessModeTest.java
+++ b/java/test/src/main/java/io/ray/test/SingleProcessModeTest.java
@@ -1,9 +1,8 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.id.ActorId;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/java/test/src/main/java/io/ray/api/test/StressTest.java b/java/test/src/main/java/io/ray/test/StressTest.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/test/StressTest.java
rename to java/test/src/main/java/io/ray/test/StressTest.java
index 218a00569..3cde937c2 100644
--- a/java/test/src/main/java/io/ray/api/test/StressTest.java
+++ b/java/test/src/main/java/io/ray/test/StressTest.java
@@ -1,10 +1,9 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.id.ObjectId;
import java.util.ArrayList;
import java.util.List;
diff --git a/java/test/src/main/java/io/ray/api/TestProgressListener.java b/java/test/src/main/java/io/ray/test/TestProgressListener.java
similarity index 98%
rename from java/test/src/main/java/io/ray/api/TestProgressListener.java
rename to java/test/src/main/java/io/ray/test/TestProgressListener.java
index 55c0b20cc..50a62d7a0 100644
--- a/java/test/src/main/java/io/ray/api/TestProgressListener.java
+++ b/java/test/src/main/java/io/ray/test/TestProgressListener.java
@@ -1,4 +1,4 @@
-package io.ray.api;
+package io.ray.test;
import java.time.LocalDateTime;
import org.testng.IInvokedMethod;
diff --git a/java/test/src/main/java/io/ray/api/TestUtils.java b/java/test/src/main/java/io/ray/test/TestUtils.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/TestUtils.java
rename to java/test/src/main/java/io/ray/test/TestUtils.java
index 089e02ef2..659db5634 100644
--- a/java/test/src/main/java/io/ray/api/TestUtils.java
+++ b/java/test/src/main/java/io/ray/test/TestUtils.java
@@ -1,5 +1,7 @@
-package io.ray.api;
+package io.ray.test;
+import io.ray.api.ObjectRef;
+import io.ray.api.Ray;
import io.ray.runtime.RayRuntimeInternal;
import io.ray.runtime.RayRuntimeProxy;
import io.ray.runtime.config.RunMode;
diff --git a/java/test/src/main/java/io/ray/api/test/WaitTest.java b/java/test/src/main/java/io/ray/test/WaitTest.java
similarity index 97%
rename from java/test/src/main/java/io/ray/api/test/WaitTest.java
rename to java/test/src/main/java/io/ray/test/WaitTest.java
index 6d5609a32..c1b90237e 100644
--- a/java/test/src/main/java/io/ray/api/test/WaitTest.java
+++ b/java/test/src/main/java/io/ray/test/WaitTest.java
@@ -1,9 +1,8 @@
-package io.ray.api.test;
+package io.ray.test;
import com.google.common.collect.ImmutableList;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.WaitResult;
import java.util.ArrayList;
import java.util.List;
diff --git a/java/test/src/main/java/io/ray/api/test/WorkerJvmOptionsTest.java b/java/test/src/main/java/io/ray/test/WorkerJvmOptionsTest.java
similarity index 94%
rename from java/test/src/main/java/io/ray/api/test/WorkerJvmOptionsTest.java
rename to java/test/src/main/java/io/ray/test/WorkerJvmOptionsTest.java
index cd744123f..04f97b110 100644
--- a/java/test/src/main/java/io/ray/api/test/WorkerJvmOptionsTest.java
+++ b/java/test/src/main/java/io/ray/test/WorkerJvmOptionsTest.java
@@ -1,9 +1,8 @@
-package io.ray.api.test;
+package io.ray.test;
import io.ray.api.ActorHandle;
import io.ray.api.ObjectRef;
import io.ray.api.Ray;
-import io.ray.api.TestUtils;
import io.ray.api.options.ActorCreationOptions;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/java/testng.xml b/java/testng.xml
index 7997f07bb..2c5756315 100644
--- a/java/testng.xml
+++ b/java/testng.xml
@@ -8,6 +8,6 @@
-
+
diff --git a/streaming/java/streaming-api/src/main/java/io/ray/streaming/message/Record.java b/streaming/java/streaming-api/src/main/java/io/ray/streaming/message/Record.java
index c86e47645..777b36dbb 100644
--- a/streaming/java/streaming-api/src/main/java/io/ray/streaming/message/Record.java
+++ b/streaming/java/streaming-api/src/main/java/io/ray/streaming/message/Record.java
@@ -3,7 +3,6 @@ package io.ray.streaming.message;
import java.io.Serializable;
import java.util.Objects;
-
public class Record implements Serializable {
protected transient String stream;
protected T value;
diff --git a/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/OneInputOperator.java b/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/OneInputOperator.java
index d2fc3bd79..c0f6c4df5 100644
--- a/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/OneInputOperator.java
+++ b/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/OneInputOperator.java
@@ -2,7 +2,6 @@ package io.ray.streaming.operator;
import io.ray.streaming.message.Record;
-
public interface OneInputOperator extends Operator {
void processElement(Record record) throws Exception;
diff --git a/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/TwoInputOperator.java b/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/TwoInputOperator.java
index d14efe3ce..54e959847 100644
--- a/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/TwoInputOperator.java
+++ b/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/TwoInputOperator.java
@@ -2,7 +2,6 @@ package io.ray.streaming.operator;
import io.ray.streaming.message.Record;
-
public interface TwoInputOperator extends Operator {
void processElement(Record record1, Record record2);
diff --git a/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/impl/MapOperator.java b/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/impl/MapOperator.java
index 9090816be..6a4dec5b5 100644
--- a/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/impl/MapOperator.java
+++ b/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/impl/MapOperator.java
@@ -5,7 +5,6 @@ import io.ray.streaming.message.Record;
import io.ray.streaming.operator.OneInputOperator;
import io.ray.streaming.operator.StreamOperator;
-
public class MapOperator extends StreamOperator> implements
OneInputOperator {
diff --git a/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/impl/SinkOperator.java b/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/impl/SinkOperator.java
index 2b355d828..738f75aec 100644
--- a/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/impl/SinkOperator.java
+++ b/streaming/java/streaming-api/src/main/java/io/ray/streaming/operator/impl/SinkOperator.java
@@ -5,7 +5,6 @@ import io.ray.streaming.message.Record;
import io.ray.streaming.operator.OneInputOperator;
import io.ray.streaming.operator.StreamOperator;
-
public class SinkOperator extends StreamOperator> implements
OneInputOperator {
diff --git a/streaming/java/streaming-runtime/src/main/java/io/ray/streaming/runtime/core/processor/ProcessBuilder.java b/streaming/java/streaming-runtime/src/main/java/io/ray/streaming/runtime/core/processor/ProcessBuilder.java
index a2a0c4c44..e9c53659d 100644
--- a/streaming/java/streaming-runtime/src/main/java/io/ray/streaming/runtime/core/processor/ProcessBuilder.java
+++ b/streaming/java/streaming-runtime/src/main/java/io/ray/streaming/runtime/core/processor/ProcessBuilder.java
@@ -8,7 +8,6 @@ import io.ray.streaming.operator.impl.SourceOperator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
public class ProcessBuilder {
private static final Logger LOGGER = LoggerFactory.getLogger(ProcessBuilder.class);
diff --git a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/demo/HybridStreamTest.java b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/demo/HybridStreamTest.java
index 5bdb530f6..81941515e 100644
--- a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/demo/HybridStreamTest.java
+++ b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/demo/HybridStreamTest.java
@@ -6,9 +6,7 @@ import io.ray.streaming.api.function.impl.FilterFunction;
import io.ray.streaming.api.function.impl.MapFunction;
import io.ray.streaming.api.function.impl.SinkFunction;
import io.ray.streaming.api.stream.DataStreamSource;
-import io.ray.streaming.runtime.BaseUnitTest;
import java.io.IOException;
-import java.io.Serializable;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
diff --git a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/master/resourcemanager/strategy/PipelineFirstStrategyTest.java b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/master/resourcemanager/strategy/PipelineFirstStrategyTest.java
index e9eb3b1d7..4a8ea66b1 100644
--- a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/master/resourcemanager/strategy/PipelineFirstStrategyTest.java
+++ b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/master/resourcemanager/strategy/PipelineFirstStrategyTest.java
@@ -5,10 +5,10 @@ import io.ray.streaming.jobgraph.JobGraph;
import io.ray.streaming.runtime.BaseUnitTest;
import io.ray.streaming.runtime.config.StreamingConfig;
import io.ray.streaming.runtime.config.types.ResourceAssignStrategyType;
+import io.ray.streaming.runtime.core.graph.ExecutionGraphTest;
import io.ray.streaming.runtime.core.graph.executiongraph.ExecutionGraph;
import io.ray.streaming.runtime.core.resource.Container;
import io.ray.streaming.runtime.core.resource.ResourceType;
-import io.ray.streaming.runtime.core.graph.ExecutionGraphTest;
import io.ray.streaming.runtime.master.JobRuntimeContext;
import io.ray.streaming.runtime.master.graphmanager.GraphManager;
import io.ray.streaming.runtime.master.graphmanager.GraphManagerImpl;
diff --git a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/python/PythonGatewayTest.java b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/python/PythonGatewayTest.java
index 5922cc578..116ddb801 100644
--- a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/python/PythonGatewayTest.java
+++ b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/python/PythonGatewayTest.java
@@ -1,5 +1,7 @@
package io.ray.streaming.runtime.python;
+import static org.testng.Assert.assertEquals;
+
import io.ray.streaming.api.stream.StreamSink;
import io.ray.streaming.jobgraph.JobGraph;
import io.ray.streaming.jobgraph.JobGraphBuilder;
@@ -9,7 +11,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.testng.annotations.Test;
-import static org.testng.Assert.assertEquals;
public class PythonGatewayTest {
diff --git a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/serialization/CrossLangSerializerTest.java b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/serialization/CrossLangSerializerTest.java
index be92792b6..0922bc9cd 100644
--- a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/serialization/CrossLangSerializerTest.java
+++ b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/serialization/CrossLangSerializerTest.java
@@ -3,9 +3,9 @@ package io.ray.streaming.runtime.serialization;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
-import org.apache.commons.lang3.builder.EqualsBuilder;
import io.ray.streaming.message.KeyRecord;
import io.ray.streaming.message.Record;
+import org.apache.commons.lang3.builder.EqualsBuilder;
import org.testng.annotations.Test;
public class CrossLangSerializerTest {
diff --git a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/streamingqueue/StreamingQueueTest.java b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/streamingqueue/StreamingQueueTest.java
index 2498af2ed..a117c0a86 100644
--- a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/streamingqueue/StreamingQueueTest.java
+++ b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/streamingqueue/StreamingQueueTest.java
@@ -1,8 +1,8 @@
package io.ray.streaming.runtime.streamingqueue;
import com.google.common.collect.ImmutableMap;
-import io.ray.api.Ray;
import io.ray.api.ActorHandle;
+import io.ray.api.Ray;
import io.ray.api.options.ActorCreationOptions;
import io.ray.api.options.ActorCreationOptions.Builder;
import io.ray.runtime.config.RayConfig;
diff --git a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/transfer/ChannelIDTest.java b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/transfer/ChannelIDTest.java
index 4174efe15..6a656222a 100644
--- a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/transfer/ChannelIDTest.java
+++ b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/transfer/ChannelIDTest.java
@@ -1,9 +1,10 @@
package io.ray.streaming.runtime.transfer;
+import static org.testng.Assert.assertEquals;
+
import io.ray.streaming.runtime.BaseUnitTest;
import io.ray.streaming.runtime.util.EnvUtil;
import org.testng.annotations.Test;
-import static org.testng.Assert.assertEquals;
public class ChannelIDTest extends BaseUnitTest {
diff --git a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/util/ReflectionUtilsTest.java b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/util/ReflectionUtilsTest.java
index ce445cbde..d483cd427 100644
--- a/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/util/ReflectionUtilsTest.java
+++ b/streaming/java/streaming-runtime/src/test/java/io/ray/streaming/runtime/util/ReflectionUtilsTest.java
@@ -1,9 +1,10 @@
package io.ray.streaming.runtime.util;
+import static org.testng.Assert.assertEquals;
+
import java.io.Serializable;
import java.util.Collections;
import org.testng.annotations.Test;
-import static org.testng.Assert.assertEquals;
public class ReflectionUtilsTest {
diff --git a/streaming/java/streaming-state/src/main/java/io/ray/streaming/state/strategy/StateStoreManagerProxy.java b/streaming/java/streaming-state/src/main/java/io/ray/streaming/state/strategy/StateStoreManagerProxy.java
index a394fa738..d74982c5a 100644
--- a/streaming/java/streaming-state/src/main/java/io/ray/streaming/state/strategy/StateStoreManagerProxy.java
+++ b/streaming/java/streaming-state/src/main/java/io/ray/streaming/state/strategy/StateStoreManagerProxy.java
@@ -25,7 +25,6 @@ import io.ray.streaming.state.keystate.desc.AbstractStateDescriptor;
import io.ray.streaming.state.store.KeyValueStore;
import java.util.Map;
-
/**
* This class support ITransactionState.
*