Skip to content

Commit 8dcc2eb

Browse files
authored
Merge pull request #1 from codewise/java-9-plus
Support for JDK 9+.
2 parents d9843a0 + 3199e5c commit 8dcc2eb

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ INCLUDE_DIRECTORIES(${JAVA_INCLUDE_PATH2})
2020

2121
add_library(perfmap SHARED src/c/perf-map-agent.c src/c/perf-map-file.c)
2222

23-
find_package(Java REQUIRED)
23+
find_package(Java COMPONENTS Development)
24+
if (Java_Development_FOUND)
25+
message("Java development tools found.")
26+
else()
27+
message(FATAL_ERROR "Java development tools not found.")
28+
endif()
2429
include(UseJava)
2530

2631
set(CMAKE_JAVA_INCLUDE_PATH ${JAVA_INCLUDE_PATH}/../lib/tools.jar)

bin/create-java-perf-map.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,17 @@ fi
3636
[ -d "$JAVA_HOME" ] || (echo "JAVA_HOME directory at '$JAVA_HOME' does not exist." && false)
3737

3838

39+
if [ -f "$JAVA_HOME/lib/tools.jar" ]; then
40+
JAVA_CLASSPATH="-cp $JAVA_HOME/lib/tools.jar"
41+
else
42+
JAVA_CLASSPATH="--add-modules jdk.attach"
43+
fi
44+
3945
if [[ "$LINUX" == "1" ]]; then
4046
sudo rm $PERF_MAP_FILE -f
41-
(cd $PERF_MAP_DIR/out && sudo -u \#$TARGET_UID -g \#$TARGET_GID $JAVA_HOME/bin/java -cp $ATTACH_JAR_PATH:$JAVA_HOME/lib/tools.jar net.virtualvoid.perf.AttachOnce $PID "$OPTIONS")
47+
(cd $PERF_MAP_DIR/out && sudo -u \#$TARGET_UID -g \#$TARGET_GID $JAVA_HOME/bin/java $JAVA_CLASSPATH -jar $ATTACH_JAR_PATH $PID "$OPTIONS")
4248
sudo chown root:root $PERF_MAP_FILE
4349
else
4450
rm -f $PERF_MAP_FILE
45-
(cd $PERF_MAP_DIR/out && $JAVA_HOME/bin/java -cp $ATTACH_JAR_PATH:$JAVA_HOME/lib/tools.jar net.virtualvoid.perf.AttachOnce $PID "$OPTIONS")
51+
(cd $PERF_MAP_DIR/out && $JAVA_HOME/bin/java $JAVA_CLASSPATH -jar $ATTACH_JAR_PATH $PID "$OPTIONS")
4652
fi

0 commit comments

Comments
 (0)