Skip to content

Commit

Permalink
Fix DDR build error for Java 8
Browse files Browse the repository at this point in the history
ClassLoader.getDefinedPackage() is only available in Java 9+.

Signed-off-by: Keith W. Campbell <[email protected]>
  • Loading branch information
keithc-ca committed Jan 13, 2025
1 parent c8dd890 commit 6616c93
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 3 additions & 1 deletion debugtools/DDR_VM/src/com/ibm/j9ddr/J9DDRClassLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -175,14 +175,16 @@ private byte[] loadClassBytes(String binaryName) throws ClassNotFoundException {
return baos.toByteArray();
}

@SuppressWarnings("deprecation")
private void definePackage(String name) {
// Split off the class name
int finalSeparator = name.lastIndexOf('.');

if (finalSeparator != -1) {
String packageName = name.substring(0, finalSeparator);

if (getDefinedPackage(packageName) == null) {
// getDefinedPackage() is only available in Java 9+
if (getPackage(packageName) == null) {
// TODO think about the correct values here
definePackage(packageName, "J9DDR", "0.1", "IBM", "J9DDR", "0.1", "IBM", null);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,14 +124,16 @@ private void examineClass(URL url, Class<?> clazz) {
}
}

@SuppressWarnings("deprecation")
private void definePackage(String name) {
// split off the class name
int finalSeparator = name.lastIndexOf('/');

if (finalSeparator != -1) {
String packageName = name.substring(0, finalSeparator);

if (getDefinedPackage(packageName) == null) {
// getDefinedPackage() is only available in Java 9+
if (getPackage(packageName) == null) {
definePackage(packageName, "J9DDR", "0.1", "IBM", "J9DDR", "0.1", "IBM", null);
}
}
Expand Down

0 comments on commit 6616c93

Please sign in to comment.