summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/javacs/Lib.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/main/java/org/javacs/Lib.java b/src/main/java/org/javacs/Lib.java
index 61c5bc4..083e69c 100644
--- a/src/main/java/org/javacs/Lib.java
+++ b/src/main/java/org/javacs/Lib.java
@@ -3,18 +3,25 @@ package org.javacs;
import java.io.File;
import java.lang.System;
import java.util.Optional;
+import java.util.Arrays;
import java.nio.file.*;
class Lib {
static Optional<Path> srcZipPath() {
return Optional.ofNullable(System.getenv("JAVA_HOME"))
- .flatMap(home -> Optional.of(Paths.get(home).resolve("lib/src.zip")))
- .flatMap(path -> {
- if (path.toFile().exists()) {
- return Optional.of(path);
- } else {
- return Optional.empty();
+ .map(home -> {
+ return Arrays.asList(new Path[]{
+ Paths.get(home).resolve("lib/src.zip"),
+ Paths.get(home).resolve("src.zip"),
+ });
+ })
+ .flatMap(paths -> {
+ for (Path path : paths) {
+ if (path.toFile().exists()) {
+ return Optional.of(path);
+ }
}
+ return Optional.empty();
});
}