Small re-org of PropertiesLauncher
This commit is contained in:
parent
8a804f6185
commit
d4d9ebcabd
|
|
@ -1,13 +1,13 @@
|
||||||
#Generated by Git-Commit-Id-Plugin
|
#Generated by Git-Commit-Id-Plugin
|
||||||
#Mon Oct 14 16:04:34 EDT 2013
|
#Tue Oct 15 09:46:33 EDT 2013
|
||||||
git.commit.id.abbrev=b0c54a6
|
git.commit.id.abbrev=be12635
|
||||||
git.commit.user.email=dsyer@gopivotal.com
|
git.commit.user.email=dsyer@gopivotal.com
|
||||||
git.commit.message.full=Add parent class loader entries if possible\n\n...otherwise you can see cryptic NoClassDefFound errors\nbecause the application class was loaded from the parent\non the file system, but then it doesn't have access to the\nchild loaders nested jars.\n
|
git.commit.message.full=Ensure env vars are consulted for PATH\n
|
||||||
git.commit.id=b0c54a65885de569cc20d4a1fb59b5372c73adcc
|
git.commit.id=be1263500df0c363ad45c0ccf387e4c06e6f5c7d
|
||||||
git.commit.message.short=Add parent class loader entries if possible
|
git.commit.message.short=Ensure env vars are consulted for PATH
|
||||||
git.commit.user.name=Dave Syer
|
git.commit.user.name=Dave Syer
|
||||||
git.build.user.name=Dave Syer
|
git.build.user.name=Dave Syer
|
||||||
git.build.user.email=dsyer@gopivotal.com
|
git.build.user.email=dsyer@gopivotal.com
|
||||||
git.branch=master
|
git.branch=master
|
||||||
git.commit.time=2013-10-14T16\:02\:04-0400
|
git.commit.time=2013-10-14T16\:07\:50-0400
|
||||||
git.build.time=2013-10-14T16\:04\:34-0400
|
git.build.time=2013-10-15T09\:46\:33-0400
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
#Generated by Git-Commit-Id-Plugin
|
#Generated by Git-Commit-Id-Plugin
|
||||||
#Mon Oct 14 16:04:26 EDT 2013
|
#Tue Oct 15 09:46:12 EDT 2013
|
||||||
git.commit.id.abbrev=b0c54a6
|
git.commit.id.abbrev=be12635
|
||||||
git.commit.user.email=dsyer@gopivotal.com
|
git.commit.user.email=dsyer@gopivotal.com
|
||||||
git.commit.message.full=Add parent class loader entries if possible\n\n...otherwise you can see cryptic NoClassDefFound errors\nbecause the application class was loaded from the parent\non the file system, but then it doesn't have access to the\nchild loaders nested jars.\n
|
git.commit.message.full=Ensure env vars are consulted for PATH\n
|
||||||
git.commit.id=b0c54a65885de569cc20d4a1fb59b5372c73adcc
|
git.commit.id=be1263500df0c363ad45c0ccf387e4c06e6f5c7d
|
||||||
git.commit.message.short=Add parent class loader entries if possible
|
git.commit.message.short=Ensure env vars are consulted for PATH
|
||||||
git.commit.user.name=Dave Syer
|
git.commit.user.name=Dave Syer
|
||||||
git.build.user.name=Dave Syer
|
git.build.user.name=Dave Syer
|
||||||
git.build.user.email=dsyer@gopivotal.com
|
git.build.user.email=dsyer@gopivotal.com
|
||||||
git.branch=master
|
git.branch=master
|
||||||
git.commit.time=2013-10-14T16\:02\:04-0400
|
git.commit.time=2013-10-14T16\:07\:50-0400
|
||||||
git.build.time=2013-10-14T16\:04\:26-0400
|
git.build.time=2013-10-15T09\:46\:12-0400
|
||||||
|
|
|
||||||
|
|
@ -300,31 +300,39 @@ public class PropertiesLauncher extends Launcher {
|
||||||
protected List<Archive> getClassPathArchives() throws Exception {
|
protected List<Archive> getClassPathArchives() throws Exception {
|
||||||
List<Archive> lib = new ArrayList<Archive>();
|
List<Archive> lib = new ArrayList<Archive>();
|
||||||
for (String path : this.paths) {
|
for (String path : this.paths) {
|
||||||
String root = cleanupPath(stripFileUrlPrefix(path));
|
for (Archive archive : getClassPathArchives(path)) {
|
||||||
File file = new File(root);
|
List<Archive> nested = new ArrayList<Archive>(
|
||||||
if (!root.startsWith("/")) {
|
archive.getNestedArchives(new EntryFilter() {
|
||||||
file = new File(this.home, root);
|
@Override
|
||||||
}
|
public boolean matches(Entry entry) {
|
||||||
if (file.isDirectory()) {
|
return entry.isDirectory()
|
||||||
this.logger.info("Adding classpath entries from " + path);
|
|| entry.getName().endsWith(".jar")
|
||||||
Archive archive = new ExplodedArchive(file);
|
|| entry.getName().endsWith(".zip");
|
||||||
lib.addAll(archive.getNestedArchives(new EntryFilter() {
|
}
|
||||||
@Override
|
}));
|
||||||
public boolean matches(Entry entry) {
|
nested.add(0, archive);
|
||||||
return entry.isDirectory() || entry.getName().endsWith(".jar")
|
lib.addAll(nested);
|
||||||
|| entry.getName().endsWith(".zip");
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
lib.add(0, archive);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.logger.info("No directory found at " + path);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
addParentClassLoaderEntries(lib);
|
addParentClassLoaderEntries(lib);
|
||||||
return lib;
|
return lib;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<Archive> getClassPathArchives(String path) {
|
||||||
|
String root = cleanupPath(stripFileUrlPrefix(path));
|
||||||
|
List<Archive> lib = new ArrayList<Archive>();
|
||||||
|
File file = new File(root);
|
||||||
|
if (!root.startsWith("/")) {
|
||||||
|
file = new File(this.home, root);
|
||||||
|
}
|
||||||
|
if (file.isDirectory()) {
|
||||||
|
this.logger.info("Adding classpath entries from " + file);
|
||||||
|
Archive archive = new ExplodedArchive(file);
|
||||||
|
lib.add(archive);
|
||||||
|
}
|
||||||
|
return lib;
|
||||||
|
}
|
||||||
|
|
||||||
private void addParentClassLoaderEntries(List<Archive> lib) throws IOException,
|
private void addParentClassLoaderEntries(List<Archive> lib) throws IOException,
|
||||||
URISyntaxException {
|
URISyntaxException {
|
||||||
ClassLoader parentClassLoader = getClass().getClassLoader();
|
ClassLoader parentClassLoader = getClass().getClassLoader();
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
#Generated by Git-Commit-Id-Plugin
|
#Generated by Git-Commit-Id-Plugin
|
||||||
#Mon Oct 14 16:04:25 EDT 2013
|
#Tue Oct 15 09:45:47 EDT 2013
|
||||||
git.commit.id.abbrev=b0c54a6
|
git.commit.id.abbrev=be12635
|
||||||
git.commit.user.email=dsyer@gopivotal.com
|
git.commit.user.email=dsyer@gopivotal.com
|
||||||
git.commit.message.full=Add parent class loader entries if possible\n\n...otherwise you can see cryptic NoClassDefFound errors\nbecause the application class was loaded from the parent\non the file system, but then it doesn't have access to the\nchild loaders nested jars.\n
|
git.commit.message.full=Ensure env vars are consulted for PATH\n
|
||||||
git.commit.id=b0c54a65885de569cc20d4a1fb59b5372c73adcc
|
git.commit.id=be1263500df0c363ad45c0ccf387e4c06e6f5c7d
|
||||||
git.commit.message.short=Add parent class loader entries if possible
|
git.commit.message.short=Ensure env vars are consulted for PATH
|
||||||
git.commit.user.name=Dave Syer
|
git.commit.user.name=Dave Syer
|
||||||
git.build.user.name=Dave Syer
|
git.build.user.name=Dave Syer
|
||||||
git.build.user.email=dsyer@gopivotal.com
|
git.build.user.email=dsyer@gopivotal.com
|
||||||
git.branch=master
|
git.branch=master
|
||||||
git.commit.time=2013-10-14T16\:02\:04-0400
|
git.commit.time=2013-10-14T16\:07\:50-0400
|
||||||
git.build.time=2013-10-14T16\:04\:25-0400
|
git.build.time=2013-10-15T09\:45\:47-0400
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
#Generated by Git-Commit-Id-Plugin
|
#Generated by Git-Commit-Id-Plugin
|
||||||
#Mon Oct 14 16:04:29 EDT 2013
|
#Tue Oct 15 09:46:13 EDT 2013
|
||||||
git.commit.id.abbrev=b0c54a6
|
git.commit.id.abbrev=be12635
|
||||||
git.commit.user.email=dsyer@gopivotal.com
|
git.commit.user.email=dsyer@gopivotal.com
|
||||||
git.commit.message.full=Add parent class loader entries if possible\n\n...otherwise you can see cryptic NoClassDefFound errors\nbecause the application class was loaded from the parent\non the file system, but then it doesn't have access to the\nchild loaders nested jars.\n
|
git.commit.message.full=Ensure env vars are consulted for PATH\n
|
||||||
git.commit.id=b0c54a65885de569cc20d4a1fb59b5372c73adcc
|
git.commit.id=be1263500df0c363ad45c0ccf387e4c06e6f5c7d
|
||||||
git.commit.message.short=Add parent class loader entries if possible
|
git.commit.message.short=Ensure env vars are consulted for PATH
|
||||||
git.commit.user.name=Dave Syer
|
git.commit.user.name=Dave Syer
|
||||||
git.build.user.name=Dave Syer
|
git.build.user.name=Dave Syer
|
||||||
git.build.user.email=dsyer@gopivotal.com
|
git.build.user.email=dsyer@gopivotal.com
|
||||||
git.branch=master
|
git.branch=master
|
||||||
git.commit.time=2013-10-14T16\:02\:04-0400
|
git.commit.time=2013-10-14T16\:07\:50-0400
|
||||||
git.build.time=2013-10-14T16\:04\:29-0400
|
git.build.time=2013-10-15T09\:46\:13-0400
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue