Noteはてな記法がいつまでたっても覚えられないので、はてなダイアリーからマークダウンが使えるこっちに引っ越してきました。Leiningenで開発する方法についてまとめる。javafxで、とりあえずJavaFXを実行するにはjfxrt.jarが必要。あるっぽいので、そこからコピって来た。ここのディレクトリにパスが通っていれば問題ないと思うのだけど、デフォでは通ってないっぽい。作成したプロジェクトディレクトリ直下にlibディレクトリを作成して、その中にjfxrt.jarをコピー。手動でjarを追加すると、基本的にLeiningenさんはjarを認識してくれないので、project.cljにjarのパスを追加してやる必要がある。パスを通すには、:resource-pathsというプロパティを追加してやる。これでコンパイル時のクラスパスにlib/jfxrt.jarが追加される。runしたときにちゃんと実行されるように設定しておく。準備が完了したので、早速プログラムの作成に入る。Leiningenのデフォルトだと、src/javafx/core.cljが作成されているのだけど、今回は、自分でsrc/kuchitama/javafx.cljを作成し、そこに実装した。自分でパッケージを切った経緯については、@t_nodaさんと@bouzuyaさんのやり取りを元にしている。GUIプログラミングのP.8あたりのサンプル相当の実装になる。uberjarを実行したときに、生成されるスタンドアローンなjarの中にjfxrt.jarが含まれないので、実はスタンドアローンで動作しない。これを解決するには、そもそも手動でのライブラリ追加をやめてちゃんとLeiningenさんに依存関係を解決してもらえばいいのだけど、oracleはjfxrt.jarをmavenで公開していないため、それは不可能になっている。その対応として自分でローカルのmavenリポジトリを作成して、そこにjfxrt.jarを追加するという方法がある。確かに、これが一番オーソドックスな方法だと思うのだけど、僕はわざわざjfxrt.jarだけを管理するためにローカル環境にmavenリポジトリを作りたくはなかったので、今回手動追加という方法をとった。スタンドアローンなjarがスタンドアローンに動作しないのは詐欺もいいところなのでなんとかしたい。どなたか、方法をご存知の方がいらっしゃればご教授ください。2017に参加してました。Cookbookを公開しましたお久しぶりです。kuchitamaです。(2)はてなブログをはじめよう!kuchitamaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。