diff --git a/CMakeLists.txt b/CMakeLists.txt
index 79be8222ed78e4986b2885ed6e39101448f8af7f..6410d122d7702dd15aed6775fcfdff6253efd64e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,14 +9,14 @@ project(genjava)
 # Find Package
 ##############################################################################
 
-find_package(catkin REQUIRED COMPONENTS genmsg)
+find_package(catkin REQUIRED COMPONENTS genmsg rosjava_build_tools)
 
 ##############################################################################
 # Catkin
 ##############################################################################
 
 catkin_package(
-  CATKIN_DEPENDS genmsg
+  CATKIN_DEPENDS genmsg rosjava_build_tools
   CFG_EXTRAS
     genjava-extras.cmake
     genjava-catkin-api.cmake
diff --git a/cmake/genjava-catkin-api.cmake.em b/cmake/genjava-catkin-api.cmake.em
index fec8705c2ed98324cdf79c191add02668d5f8c98..06d4a5de04a4cc72007fd2e911d8cfbccdbe98dc 100644
--- a/cmake/genjava-catkin-api.cmake.em
+++ b/cmake/genjava-catkin-api.cmake.em
@@ -29,6 +29,7 @@ macro(generate_rosjava_messages)
   if(ARG_UNPARSED_ARGUMENTS)
     message(FATAL_ERROR "generate_rosjava_messages() called with unused arguments: ${ARG_UNPARSED_ARGUMENTS}")
   endif()
+  catkin_rosjava_env_setup()
   set(ROS_GRADLE_VERBOSE $ENV{ROS_GRADLE_VERBOSE})
   if(ROS_GRADLE_VERBOSE)
       set(verbosity "--verbosity")