我已经定义了自定义配置和依赖项。
repositories {
mavenCentral()
}
configurations {
myConfig
}
dependencies {
myConfig 'org.foo:foo:+'
}
如何创建 ClassLoader 来动态加载类?
task myTask {
def classLoader = configurations.myConfig.????
def foo = Class.forName( "org.foo.Foo", true, classLoader ).newInstance();
}
最佳答案
我现在找到了这个解决方案。我希望有更好的解决方案。
def classLoader = getClassLoader( configurations.myConfig )
ClassLoader getClassLoader( Configuration config ) {
ArrayList urls = new ArrayList()
config.files.each { File file ->
urls += file.toURI().toURL()
}
return new URLClassLoader( urls.toArray(new URL[0]) );
}
关于class - 如何从 gradle 中的自定义配置创建 ClassLoader?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29431386/