我的Leiningin项目在Maven中找不到JavaFX。我做错了什么?
这是命令行输出(以及一些工具版本信息:
> java --version
openjdk 13.0.2 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
> lein --version
Leiningen 2.9.1 on Java 13.0.2 OpenJDK 64-Bit Server VM
> lein clean
> lein run
Could not find artifact org.openjfx:javafx:jar:13.0.2 in central (https://repo1.maven.org/maven2/)
Could not find artifact org.openjfx:javafx:jar:13.0.2 in clojars (https://repo.clojars.org/)
This could be due to a typo in :dependencies, file system permissions, or network issues.
If you are behind a proxy, try setting the 'http_proxy' environment variable.
这是我的项目文件:
(defproject pdb-java-client "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]
[clj-http "2.2.0"]
[cheshire "5.6.3"]
[local/tsp-dev "6.2.0"]
[org.clojure/core.match "0.3.0-alpha4"]
[org.reflections/reflections "0.9.10"]
[org.openjfx/javafx "13.0.2"]]
:main ^:skip-aot pdb-java-client.core
:source-paths ["src/clojure"]
:java-source-paths ["src/java"]
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
尽管这是一个Leiningen项目,但由于Maven是在幕后使用来获取依赖关系的,因此Maven项目可能也会遇到相同的问题。我尝试了其他org.openjfx
个工件,但都失败了。
查看Maven Central,没有发布“ 13.0.2”。但是,似乎存在“ 13.0.1”:
;; https://mvnrepository.com/artifact/org.openjfx/javafx
[org.openjfx/javafx "13.0.1" :extension "pom"]
请参见https://mvnrepository.com/artifact/org.openjfx/javafx/13.0.1#leiningen
这在演示项目中有效:
~/expr/demo > lein deps
Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
Retrieving org/openjfx/javafx/13.0.1/javafx-13.0.1.pom from central
我不确定资格:extension "pom"
。留给读者练习。 ;)
更新
发现了一些讨论: