HADOOP-9924. Addendum patch to address issue with an empty classpath entry on Windows. Contributed by Shanyu Zhao.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1520903 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
03ae82a311
commit
40cf0068d8
@ -1239,6 +1239,9 @@ public static String createJarWithClassPath(String inputClassPath, Path pwd,
|
|||||||
List<String> classPathEntryList = new ArrayList<String>(
|
List<String> classPathEntryList = new ArrayList<String>(
|
||||||
classPathEntries.length);
|
classPathEntries.length);
|
||||||
for (String classPathEntry: classPathEntries) {
|
for (String classPathEntry: classPathEntries) {
|
||||||
|
if (classPathEntry.length() == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (classPathEntry.endsWith("*")) {
|
if (classPathEntry.endsWith("*")) {
|
||||||
// Append all jars that match the wildcard
|
// Append all jars that match the wildcard
|
||||||
Path globPath = new Path(classPathEntry).suffix("{.jar,.JAR}");
|
Path globPath = new Path(classPathEntry).suffix("{.jar,.JAR}");
|
||||||
|
@ -757,7 +757,7 @@ public void testCreateJarWithClassPath() throws Exception {
|
|||||||
String wildcardPath = tmp.getCanonicalPath() + File.separator + "*";
|
String wildcardPath = tmp.getCanonicalPath() + File.separator + "*";
|
||||||
String nonExistentSubdir = tmp.getCanonicalPath() + Path.SEPARATOR + "subdir"
|
String nonExistentSubdir = tmp.getCanonicalPath() + Path.SEPARATOR + "subdir"
|
||||||
+ Path.SEPARATOR;
|
+ Path.SEPARATOR;
|
||||||
List<String> classPaths = Arrays.asList("cp1.jar", "cp2.jar", wildcardPath,
|
List<String> classPaths = Arrays.asList("", "cp1.jar", "cp2.jar", wildcardPath,
|
||||||
"cp3.jar", nonExistentSubdir);
|
"cp3.jar", nonExistentSubdir);
|
||||||
String inputClassPath = StringUtils.join(File.pathSeparator, classPaths);
|
String inputClassPath = StringUtils.join(File.pathSeparator, classPaths);
|
||||||
String classPathJar = FileUtil.createJarWithClassPath(inputClassPath,
|
String classPathJar = FileUtil.createJarWithClassPath(inputClassPath,
|
||||||
@ -776,6 +776,9 @@ public void testCreateJarWithClassPath() throws Exception {
|
|||||||
Assert.assertNotNull(classPathAttr);
|
Assert.assertNotNull(classPathAttr);
|
||||||
List<String> expectedClassPaths = new ArrayList<String>();
|
List<String> expectedClassPaths = new ArrayList<String>();
|
||||||
for (String classPath: classPaths) {
|
for (String classPath: classPaths) {
|
||||||
|
if (classPath.length() == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (wildcardPath.equals(classPath)) {
|
if (wildcardPath.equals(classPath)) {
|
||||||
// add wildcard matches
|
// add wildcard matches
|
||||||
for (File wildcardMatch: wildcardMatches) {
|
for (File wildcardMatch: wildcardMatches) {
|
||||||
|
Loading…
Reference in New Issue
Block a user