Java の文字列内部表現は UTF-16 となっており Unicode を扱うことができます。ですが、 プラットフォーム (OS) との境界部分となるコマンドライン引数とコンソール出力についてはプラットフォーム (OS) の文字コードとの変換がおこなわれるため Unicode を扱えない部分があります。
Windows 版 Java における Unicode 入出力問題と回避方法について紹介します。
Java の文字列内部表現は UTF-16 となっており Unicode を扱うことができます。ですが、 プラットフォーム (OS) との境界部分となるコマンドライン引数とコンソール出力についてはプラットフォーム (OS) の文字コードとの変換がおこなわれるため Unicode を扱えない部分があります。
Windows 版 Java における Unicode 入出力問題と回避方法について紹介します。
C 標準ライブラリ関数には標準出力に文字列を出力する printf
関数があります。これをワイドキャラクタ (≒Unicode) 出力に対応させたバージョンが wprintf
関数です。
ところが、 Windows の wprintf
関数は Unicode を出力できないというのです。にわかには信じられない話です。本当にそんなことがあるんでしょうか?
wprintf
関数の問題点と、 Windows のコンソールに Unicode を出力する方法を解説します。
Free
freemarker.template.TemplateNotFoundException: Template not found for name "index.ftl".
なぜかテンプレート ・ ファイルが見つけられなくなってしまうのです。その原因は Jetty と Windows にありました。
Java 12 に対応した exewrap 1.4 をリリースしました。
exewrap 1.3.1 以前のバージョンで作成した実行ファイルを Java 12 で実行するとコンソールに以下の警告メッセージが表示されます。(メッセージが表示されるだけでアプリケーションの動作自体には問題ありません。)
OpenJDK 64-Bit Server VM warning: Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "Loader"). To use archived non-system classes, this property must not be set
この問題が exewrap 1.4 で改善しています。exewrap 1.4 で作成した実行ファイルであれば、 Java 12 実行環境でも上記のメッセージは表示されなくなります。
Let’s Encrypt は無料でサーバー証明書を発行してくれる認証局です。2016 年のサービス開始以来、 急速に普及しています。
Let’s Encrypt の証明書発行には ACME プロトコルに対応したクライアントソフトウェアを使います。主要な ACME クライアントソフトウェアは ACME Client Implementations で紹介されています。Let’s Encrypt のサイトでは certbot というツールが推奨されているのですが、 このツールは Windows には対応していません。Windows 環境では win-acme (旧名 letsencrypt-win-simple) というツールが良く使われているようです。
私も、 これまで win-acme を使ってきたのですが、 先日、 ふとしたことで mod_md という Apache モジュールの存在を知りました。mod_md は win-acme よりもずっと簡単に使えます。ただし、 mod_md は Apache モジュールであるため Apache 環境でしか使えません。IIS など他のウェブサーバーに Let’s Encrypt を導入するのであれば、 引き続き win-acme が有力な選択肢になります。
Apache 2.4.30 以降で利用可能になった mod_md モジュールを使って Let’s Encrypt 証明書を導入する手順を紹介していきます。
過去に Windows 用の Subversion 1.9 サーバー構築手順を紹介したとことがあります。その後、 Apache、 Subversion のバイナリ配布形態に変化があり、 以前の記事の手順通りでは Subversion 環境構築できなくなってしまいました。
本稿は Subversion サーバー構築手順のアップデート記事 (2019 年版) です。Windows に Subversion 1.12 サーバーを構築する手順を解説します。今回は手軽に環境構築できるオールインワン ・ パッケージも用意しました。
最近、 Java でデスクトップ ・ ブリッジ UWP アプリの開発に取り組んでいます。その中で、 既定では存在しないレジストリのいくつかを読み取る必要が出てきました。既定では存在していないレジストリなので、 なんらかの方法で事前に書き込みをしておかなければなりません。
デスクトップ ・ ブリッジでは権限があればレジストリへの書き込みもできるようですが、 できることなら権限を要求せずに解決したいところです。そこで、 デスクトップ ・ ブリッジ UWP の仮想化されたレジストリ機能を使ってみることにしました。
Java アプリをデスクトップ ・ ブリッジ UWP アプリとして.appx パッケージにまとめると、 Microsoft Store を通して Java アプリを配布できるようになります。
本記事では、 Desktop App Converter ではなく Make