Merge pull request #556 from jansupol/xml.jdk17
diff --git a/hk2-configuration/persistence/hk2-xml/main/src/main/java/org/glassfish/hk2/xml/internal/JAUtilities.java b/hk2-configuration/persistence/hk2-xml/main/src/main/java/org/glassfish/hk2/xml/internal/JAUtilities.java
index 0d44733..12408e4 100755
--- a/hk2-configuration/persistence/hk2-xml/main/src/main/java/org/glassfish/hk2/xml/internal/JAUtilities.java
+++ b/hk2-configuration/persistence/hk2-xml/main/src/main/java/org/glassfish/hk2/xml/internal/JAUtilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,6 @@
package org.glassfish.hk2.xml.internal;
-import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.security.AccessController;
import java.security.PrivilegedAction;
@@ -29,6 +28,7 @@
import javassist.CtClass;
import javassist.LoaderClassPath;
import javassist.NotFoundException;
+import javassist.bytecode.ClassFile;
import org.glassfish.hk2.api.MultiException;
import org.glassfish.hk2.utilities.cache.Computable;
@@ -65,7 +65,7 @@
}
});
-
+
public final static String GET = "get";
public final static String SET = "set";
public final static String IS = "is";
@@ -238,8 +238,12 @@
CtClass generated = Generator.generate(new ClassAltClassImpl(key, classReflectionHelper),
jaUtilities.getBaseClass(),
jaUtilities.getClassPool());
-
- proxyClass = generated.toClass(key.getClassLoader(), key.getProtectionDomain());
+
+ if (ClassFile.MAJOR_VERSION > ClassFile.JAVA_8) {
+ proxyClass = generated.toClass(key);
+ } else {
+ proxyClass = generated.toClass(key.getClassLoader(), key.getProtectionDomain());
+ }
}
catch (RuntimeException re) {
throw new RuntimeException("Could not compile proxy for class " + iFaceName, re);
diff --git a/hk2-locator/src/test/resources/policy.txt b/hk2-locator/src/test/resources/policy.txt
index 7d56a79..e046501 100755
--- a/hk2-locator/src/test/resources/policy.txt
+++ b/hk2-locator/src/test/resources/policy.txt
@@ -1,4 +1,4 @@
-//Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+//Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
//
//This program and the accompanying materials are made available under the
//terms of the Eclipse Public License v. 2.0, which is available at
@@ -85,6 +85,8 @@
permission java.lang.RuntimePermission "accessDeclaredMembers";
permission java.lang.RuntimePermission "setContextClassLoader";
permission java.lang.RuntimePermission "createClassLoader";
+ permission java.lang.RuntimePermission "createSecurityManager";
+ permission java.lang.RuntimePermission "defineClass";
permission java.util.PropertyPermission "javassist.*", "read";
permission java.util.PropertyPermission "org.jvnet.*", "read";
permission java.lang.RuntimePermission "getProtectionDomain";
diff --git a/pom.xml b/pom.xml
index 93c4129..9ba96f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -150,7 +150,7 @@
<glassfish.javax.el.version>3.0.1-b10</glassfish.javax.el.version>
<jakarta.el.version>3.0.2</jakarta.el.version>
<jtype.version>0.1.0</jtype.version>
- <javassist.version>3.22.0-CR2</javassist.version>
+ <javassist.version>3.27.0-GA</javassist.version>
<junit.version>4.12</junit.version>
<asm.version>7.1</asm.version>
<woodstox.version>4.1.2</woodstox.version>