jdk1.8升级jdk17,build.gradle的变化

  • Post author:
  • Post category:其他


应公司要求,需将jdk1.8升级到jdk17版本,在升级过程中遇到的坑以及解决方案记录如下:

问题 解决方案
class jdk.internal.loader.ClassLoaders



P

l

a

t

f

o

r

m

C

l

a

s

s

L

o

a

d

e

r

c

a

n

n

o

t

b

e

c

a

s

t

t

o

c

l

a

s

s

j

a

v

a

.

n

e

t

.

U

R

L

C

l

a

s

s

L

o

a

d

e

r

(

j

d

k

.

i

n

t

e

r

n

a

l

.

l

o

a

d

e

r

.

C

l

a

s

s

L

o

a

d

e

r

s

PlatformClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders






Pl


a


t


f


or


m


Cl


a


ss


L


o


a


d


erc


ann


o


t


b


ec


a


s


tt


oc


l


a


ss


ja


v


a


.


n


e


t


.


U


R


L


Cl


a


ss


L


o


a


d


er


(


j


d


k


.


in


t


er


na


l


.


l


o


a


d


er


.


Cl


a


ss


L


o


a


d


ers





PlatformClassLoader and java.net.URLClassLoader are in module java.base of loader ‘bootstrap’)

gradle版本和jdk版本不匹配,升级gradle版本 7.5 以上
Could not find method compile() compile替换成implementation;

testCompile替换成testImplementation
Gradle7以上默认不支持http的maven库 maven {

allowInsecureProtocol true

url ‘http://artifactory.saicm.local/artifactory/maven-virtual/’

}
java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not “opens java.lang” to unnamed module @cc43f62 添加VM参数 –add-opens java.base/java.lang=ALL-UNNAMED

–add-opens java.base/java.util=ALL-UNNAMED
遇到的具体依赖的问题 升级到最新版本

lombok 1.18.20

easyexcel 3.2.1

druid-spring-boot-starter:1.2.9

com.ctrip.framework.apollo.apollo-client:2.0.0



版权声明:本文为wl1411956542原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。