diff --git a/Wrapping/Java/CMakeLists.txt b/Wrapping/Java/CMakeLists.txt
index 62b39ce332625a57b5172fd4aaf80a182c0cafa9..2d923d9ad9d24ef6fa9c0b2c48948bc658040e56 100644
--- a/Wrapping/Java/CMakeLists.txt
+++ b/Wrapping/Java/CMakeLists.txt
@@ -275,10 +275,11 @@ install(
   DESTINATION "${vtk_cmake_destination}"
   COMPONENT "development")
 
-# We need this for targets that depends in vtkjava to
-# delay its source code compilation until the vtkjava JAR file is
-# generated.
-add_custom_target(vtkjava_jar DEPENDS "$<TARGET_FILE:vtkjava>")
+if (CMAKE_GENERATOR MATCHES "Ninja")
+  # We need this for targets that depends in vtkjava to delay its
+  # source code compilation until the vtkjava JAR file is generated.
+  add_custom_target(vtkjava_jar DEPENDS "$<TARGET_FILE:vtkjava>")
+endif ()
 
 if (VTK_BUILD_TESTING AND TARGET VTK::TestingRendering)
   add_subdirectory(Testing)
diff --git a/Wrapping/Java/Testing/Java/CMakeLists.txt b/Wrapping/Java/Testing/Java/CMakeLists.txt
index 835935e84e686fe0da3149aabdb97d62c400dcc2..83bfad0688884627c21a2ca166186a3feb1939bf 100644
--- a/Wrapping/Java/Testing/Java/CMakeLists.txt
+++ b/Wrapping/Java/Testing/Java/CMakeLists.txt
@@ -34,11 +34,17 @@ target_compile_options(vtkjava_tests
 target_link_libraries(vtkjava_tests
   PRIVATE
     VTK::vtkjava)
-# Apparently the Java compilation doesn't set up dependencies properly,
-# Thus we need to depend on vtkjava_jar which symbolized that the vtkjava
-# jar file has been created. This is needed since compiling every java file
-# requires to have the jars in the classpath of its dependencies.
-add_dependencies(vtkjava_tests vtkjava_jar WrapJava)
+if (TARGET vtkjava_jar)
+  # Apparently the Java compilation doesn't set up dependencies properly,
+  # Thus we need to depend on vtkjava_jar which symbolized that the vtkjava
+  # jar file has been created. This is needed since compiling every java file
+  # requires to have the jars in the classpath of its dependencies.
+  add_dependencies(vtkjava_tests vtkjava_jar WrapJava)
+else ()
+  # If 'vtkjava_jar' doesn't exist, we assume that dependencies are properly
+  # handled via the 'vtkjava' target for the vtk.jar file
+  add_dependencies(vtkjava_tests vtkjava)
+endif ()
 
 set(vtk_test_classpath
   "$<TARGET_FILE:vtkjava_tests>"