1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.assembly.io;
20
21 import java.net.URL;
22
23
24
25
26 class ClasspathResourceLocatorStrategy implements LocatorStrategy {
27
28 private String tempFilePrefix = "location.";
29
30 private String tempFileSuffix = ".cpurl";
31
32 private boolean tempFileDeleteOnExit = true;
33
34
35
36
37 ClasspathResourceLocatorStrategy() {}
38
39
40 public Location resolve(String locationSpecification, MessageHolder messageHolder) {
41 ClassLoader cloader = Thread.currentThread().getContextClassLoader();
42
43 URL resource = cloader.getResource(locationSpecification);
44
45 Location location = null;
46
47 if (resource != null) {
48 location = new URLLocation(
49 resource, locationSpecification, tempFilePrefix, tempFileSuffix, tempFileDeleteOnExit);
50 } else {
51 messageHolder.addMessage(
52 "Failed to resolve classpath resource: " + locationSpecification + " from classloader: " + cloader);
53 }
54
55 return location;
56 }
57 }