Closed martinklepsch closed 5 years ago
This works (via https://github.com/technomancy/leiningen/issues/2364):
env BOOT_VERSION=2.7.0 BOOT_JVM_OPTIONS=-Dhttps.protocols=TLSv1.2 boot -d clj-time
# also 2.6.0 just works fine, not sure why
env BOOT_VERSION=2.6.0 boot -d clj-time
The reason this appeared in boot 2.7.0 is we switched the default url that boot uses for clojars from https://clojars.org/repo
(served by the clojars.org server) to https://repo.clojars.org
(a CDN provided by Fastly). Unfortunately, Fastly only supports TLS 1.2. So another possible workaround until this is resolved is to use the old repo by overriding the url for clojars, which I think you can do with:
(set-env!
:repositories
[["central" {:url "https://repo1.maven.org/maven2" :snapshots false}]
["clojars" {:url "https://clojars.org/repo"}]])
One way to fix this could be to conditionally use the clojars.org server if we're on Java 7.
System.getProperty("java.version")
What about just documenting that we require Java 8?
To provide some perspective, e.g. Boot-cljs and Compojure-api require Java 8.
Yeah not fixing it definitely is an option and people who need Java 7 could still use the workaround of passing additional JVM OPTS. Hard to judge if there are many Boot users still on Java 7.
I think we can say we require Java 8 now.
This seems related: https://stackoverflow.com/questions/33595021/getting-javax-net-ssl-sslexception-received-fatal-alert-protocol-version-while
Not sure if this should be considered a Boot issue but the README states JDK 7+ are supported so I guess the options are dropping support and figuring out why this isn't working anymore.