Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Villiger2017-10-23 13:36:30 +0000
committerMatthias Villiger2017-10-24 12:15:54 +0000
commit753d10203eb78f87c05e536c1183b36bf18e261a (patch)
treef04f50b8fb21ee66adc52136c461bf78cf367fe1
parentee15a1bb484c26cadcf9a7a57eb17bf37ccb9076 (diff)
downloadorg.eclipse.scout.sdk-753d10203eb78f87c05e536c1183b36bf18e261a.tar.gz
org.eclipse.scout.sdk-753d10203eb78f87c05e536c1183b36bf18e261a.tar.xz
org.eclipse.scout.sdk-753d10203eb78f87c05e536c1183b36bf18e261a.zip
Bug 526363 - NoSuchFileException in JreInfo on Mac
Change-Id: I68c86ce0adfc6d1c560f40115499a9ed17e5f1cc Reviewed-on: https://git.eclipse.org/r/110554 Tested-by: Hudson CI Reviewed-by: Matthias Villiger <mvi@bsi-software.com>
-rw-r--r--org.eclipse.scout.sdk.core/src/main/java/org/eclipse/scout/sdk/core/model/spi/internal/JreInfo.java24
1 files changed, 10 insertions, 14 deletions
diff --git a/org.eclipse.scout.sdk.core/src/main/java/org/eclipse/scout/sdk/core/model/spi/internal/JreInfo.java b/org.eclipse.scout.sdk.core/src/main/java/org/eclipse/scout/sdk/core/model/spi/internal/JreInfo.java
index e1dfde984..c4978aa1c 100644
--- a/org.eclipse.scout.sdk.core/src/main/java/org/eclipse/scout/sdk/core/model/spi/internal/JreInfo.java
+++ b/org.eclipse.scout.sdk.core/src/main/java/org/eclipse/scout/sdk/core/model/spi/internal/JreInfo.java
@@ -17,9 +17,9 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Collections;
import java.util.List;
+import java.util.Optional;
import java.util.stream.Stream;
-import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.eclipse.scout.sdk.core.util.SdkException;
@@ -87,31 +87,27 @@ public class JreInfo {
}
private List<Path> resolvePlatformLibrariesLegacy() {
+ // fall back to try to retrieve them out of the lib directory
final Path jreHome = jreHome();
- final Stream<Path> libDirs;
- final String osName = System.getProperty("os.name");
- if (StringUtils.isNotEmpty(osName) && osName.toLowerCase().startsWith("mac")) {
- libDirs = Stream.of(jreHome.resolve("../Classes").normalize());
- }
- else {
- // fall back to try to retrieve them out of the lib directory
- libDirs = Stream.of(jreHome.resolve("lib"), jreHome.resolve("lib/ext"));
- }
+ final Stream<Path> libDirs = Stream.of(jreHome.resolve("lib"), jreHome.resolve("lib/ext"));
final List<Path> result = libDirs
.flatMap(JreInfo::listFiles)
.filter(JreInfo::isArchive)
.collect(toList());
- final Path classesDir = jreHome.resolve("classes");
- if (Files.isReadable(classesDir) && Files.isDirectory(classesDir)) {
- result.add(classesDir);
- }
+ Optional.of(jreHome.resolve("classes"))
+ .filter(Files::isReadable)
+ .filter(Files::isDirectory)
+ .ifPresent(result::add);
return result;
}
private static Stream<Path> listFiles(final Path directory) {
+ if (!Files.isReadable(directory) || !Files.isDirectory(directory)) {
+ return Stream.empty();
+ }
try {
return Files.list(directory);
}

Back to the top