コンテクスト
clojureでJavaFxを使用したい。
私はhttp://nailthatbug.net /2011/06/clojure-javafx-2-0-simple-app/を知っています
質問:
代わりにleinでnative-depsを使用してJavaFXをClojureで動作させる方法はありますか?
ありがとう!
clojureでJavaFxを使用したい。
私はhttp://nailthatbug.net /2011/06/clojure-javafx-2-0-simple-app/を知っています
代わりにleinでnative-depsを使用してJavaFXをClojureで動作させる方法はありますか?
ありがとう!
Githubで単純なClojure と JavaFX の例を作成しました。Ubuntu でのテストdeploy:deploy-fileターゲットを使用して、ローカルの Maven リポジトリに JavaFX ランタイムをインストールする必要がありました(install:install-file は機能しませんでした)。
mvn deploy:deploy-file -DgroupId=local.oracle -DartifactId=javafxrt -Dversion=2.2.0 -Dpackaging=jar -Dfile=/usr/lib/jvm/java-7-oracle-amd64/jre/lib/jfxrt.jar -Durl=file:/home/raju/.m2/repository
次の引数が正しく設定されていることを確認してください。
project.clj では、JAR をリポジトリにインストールするときに、-DgroupId および -DartifactId の値に基づいて依存関係を追加しました。これらの値を変更する場合は、それに応じて依存関係を変更してください。
[local.oracle/javafxrt "2.2.0"]
Java は問題なくバイナリ ライブラリをロードできました。Java がバイナリ ライブラリの読み込みに関する問題を報告した場合、たとえば
原因: java.lang.UnsatisfiedLinkError: ライブラリを読み込めません: /usr/lib/jvm/javafx-sdk/rt/lib/amd64/libglass.so
SOに関する次の2つの質問を確認してください。
LD_LIBRARY_PATH とその使用方法
java.lang.UnsatisfiedLinkError no *****.dll in java.library.path
JavaFx にはネイティブの依存関係があるため、オプションは制限されています。]
robert.hook
リンク先のチュートリアルは、実際のネイティブ依存関係を提供するためにエンドユーザーのパッケージマネージャーを使用して依存することにより、パッケージ/プログラムのユーザーがJavaFxを独自にインストールするケースをカバーしているためです。パッケージ/プログラムに依存関係を含める方法について説明します。
native-depsを使用して、ネイティブの依存関係をパッケージに同梱できます。すべての .so、.dll、.etc ファイルを適切なディレクトリに追加するだけです。プロジェクトの github ページは、私が構造を説明するよりも優れた仕事をしていると思います。
質問のリンクが壊れているため、例を見ることができませんが、Java 8 では、JavaFX は標準の JDK/JRE の一部になりました。したがって、ネイティブの依存関係の問題は、現時点では無関係であると予想しています。
これが他の人のために働くかどうかはわかりませんが、これは(これまでのところ)私のために働いたようです:
mvn install:install-file -DgroupId = javafx -DartifactId = javafx -Dversion = 2.1.0 -Dpackaging = jar -Dfile = / Library / Java / JavaVirtualMachines / 1.7.0.jdk / Contents / Home / jre / lib/jfxrt。 jar
なぜこれが機能するのかわかりませんが、jfxrt.jarに必要なファイルがあると思います。次に、この後、project.cljで次のようにKindleします。
[javafx "2.1.0"]
:dependencies(:native-depsではない)セクション。
[これを書いたので、なぜこれがうまくいくように見えるのか本当にわかりません。]