日曜プログラミング

休日趣味でやってるプログラミング関連記事をダラダラと

Java

Clojure でコマンドラインツール作成のお供に lein-jlink のススメ

前置き 前提 jdeps で必要モジュールを調べる project.clj に必要モジュール指定の設定を追加する カスタム JRE 作成 カスタム JRE 作成場所の設定 実行スクリプト作成 パッケージング 最後に 前置き 英語的には Motivation に当たるのかな。 Clojure + Graa…

Windows GraalVM で Clojure 製CLI ツールの native-image 作ってみた

2020/07/01 追記 GraalVM 20.1.0出たので インストールしてる時 native-image を gu install native-image で入れようとした時に 入れられなかったのでローカルでインストールした手順も追加。20.0 でも同じ PKIX なんちゃらのエラーだったので おそらく証明…

Clojure の Java interop で可変引数メソッドを呼び出す方法

例えばSomeClassと言うクラスのsomeStaticMethodの引数が String first, String... moreな場合。 (SomeClass/someStaticMethod first (into-array String [more...])) more は渡したい引数分だけ要素を突っ込む。例ではスタティックメソッドになってるがイン…

WindowsでJDK7,8を切替

以下の記事そのままの方法を使わせて頂いたのでメモ。 WindowsでJDK 7とJDK 8を切り替える際の注意点 Oracle もこういう情報を標準で提供してくれればいいのに。

Windows コマンドプロンプトで lein javac するとエラーメッセージが文字化けする

どーせ文字コードが一致してないんだろと予想はつき、Windows コマンドプロンプト側と javac 側がどうなってるのか確認しようと思い立つ。ググるとコマンドプロンプト側は chcp で 932(SJIS)とすぐ分かったものの javac 側がイマイチ分からん。Java 実行時 P…

Windows で Java の PID を見ながらプロセスキルする

Java (と言うか Clojure で書いた)プログラム、リリースしてしまえばどうと言う事はないのだが、Emacs cider で REPL 立ち上げて他に Datomic transactor や Datomic Console 立ち上げてるとそれだけで java.exe が 4 つ立ち上がり、しかも既存の Java ツー…

JDK アップデート管理

さて、Java7 の update 45 がリリースされたようなので、ここで一度 JDK のアップデート管理をどうするか整理しておきたいと思う。Windows の JDK(JRE じゃなく)は実はオートアップデートできないと言うワナがある。コンパネの Java にオートアップデート有…