1
2
3
4
5 package com.qulice.maven;
6
7 import java.net.URL;
8 import java.net.URLClassLoader;
9 import java.security.PrivilegedAction;
10 import java.util.List;
11
12
13
14
15
16 final class PrivilegedClassLoader implements PrivilegedAction<URLClassLoader> {
17
18
19
20
21 private final List<URL> urls;
22
23
24
25
26
27 PrivilegedClassLoader(final List<URL> urls) {
28 this.urls = urls;
29 }
30
31 @Override
32 public URLClassLoader run() {
33 return new URLClassLoader(
34 this.urls.toArray(new URL[0]),
35 Thread.currentThread().getContextClassLoader()
36 );
37 }
38 }