Don't add bad URIs, and log if they don't point to anything
This commit is contained in:
parent
b1c00223aa
commit
bb887c9c81
|
@ -148,6 +148,12 @@ public class MetaInfConfiguration extends AbstractConfiguration
|
||||||
Consumer<URI> addContainerResource = (uri) ->
|
Consumer<URI> addContainerResource = (uri) ->
|
||||||
{
|
{
|
||||||
Resource resource = _resourceFactory.newResource(uri);
|
Resource resource = _resourceFactory.newResource(uri);
|
||||||
|
if (resource == null || !resource.exists())
|
||||||
|
{
|
||||||
|
if (LOG.isDebugEnabled())
|
||||||
|
LOG.debug("Classpath URI doesn't exist: " + uri);
|
||||||
|
}
|
||||||
|
else
|
||||||
context.getMetaData().addContainerResource(resource);
|
context.getMetaData().addContainerResource(resource);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -379,6 +385,10 @@ public class MetaInfConfiguration extends AbstractConfiguration
|
||||||
*/
|
*/
|
||||||
public void scanForResources(WebAppContext context, Resource target, ConcurrentHashMap<Resource, Resource> cache)
|
public void scanForResources(WebAppContext context, Resource target, ConcurrentHashMap<Resource, Resource> cache)
|
||||||
{
|
{
|
||||||
|
// Resource target does not exist
|
||||||
|
if (target == null || !target.exists())
|
||||||
|
return;
|
||||||
|
|
||||||
Resource resourcesDir = null;
|
Resource resourcesDir = null;
|
||||||
if (cache != null && cache.containsKey(target))
|
if (cache != null && cache.containsKey(target))
|
||||||
{
|
{
|
||||||
|
@ -691,13 +701,20 @@ public class MetaInfConfiguration extends AbstractConfiguration
|
||||||
if (webInf == null || !webInf.exists() || !webInf.isDirectory())
|
if (webInf == null || !webInf.exists() || !webInf.isDirectory())
|
||||||
return List.of();
|
return List.of();
|
||||||
|
|
||||||
Resource webInfLib = webInf.resolve("/lib");
|
Resource webInfLib = webInf.resolve("lib");
|
||||||
|
|
||||||
|
if (webInfLib != null && webInfLib.exists() && webInfLib.isDirectory())
|
||||||
|
{
|
||||||
return webInfLib.list().stream()
|
return webInfLib.list().stream()
|
||||||
.filter((lib) -> FileID.isLibArchive(lib.getFileName()))
|
.filter((lib) -> FileID.isLibArchive(lib.getFileName()))
|
||||||
.sorted(ResourceCollators.byName(true))
|
.sorted(ResourceCollators.byName(true))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get jars from WebAppContext.getExtraClasspath as resources
|
* Get jars from WebAppContext.getExtraClasspath as resources
|
||||||
|
@ -733,14 +750,13 @@ public class MetaInfConfiguration extends AbstractConfiguration
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
Resource webInf = context.getWebInf();
|
Resource webInf = context.getWebInf();
|
||||||
|
|
||||||
// Find WEB-INF/classes
|
// Find WEB-INF/classes
|
||||||
if (webInf != null && webInf.isDirectory())
|
if (webInf != null && webInf.isDirectory())
|
||||||
{
|
{
|
||||||
// Look for classes directory
|
// Look for classes directory
|
||||||
Resource classes = webInf.resolve("classes/");
|
Resource webInfClassesDir = webInf.resolve("classes/");
|
||||||
if (classes.exists())
|
if (webInfClassesDir != null && webInfClassesDir.exists() && webInfClassesDir.isDirectory())
|
||||||
return classes;
|
return webInfClassesDir;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue