Windows向けrsyncがなくなったみたい?


vagrantrsyncが使いたくなった。
そこでscooprsyncをインストールしようとしたが、見つからない。
おや?と思い検索してみると次の issue が。
rsync free version is no more #2506

Read more ⟶

vim で E117 未知の関数です


vim は ~/.vim ディレクトリを読むのに対し gvim は~/vimfilesディレクトリを読むためだそうです。Windows ならジャンクションを作りましょう。

cd /d %homepath%
mklink /j vimfiles .vim

参考:

Read more ⟶

gitで利用するエディタを設定したかった


あるいは vim-plug をセットアップしたら git commit したときに E492: Not an editor command って怒られるようになっちゃった。

Vagrant で CentOS の Box を作るたびにひっかかる。

Git が使う editor を(vi でなく)vim に設定すればよい。

Read more ⟶

M2_HOMEは不要


M2_HOME は削除されました。

敢えて設定するのであれば、 上の変更 commit リンク先にある通り、M2_HOMEでなくMAVEN_HOMEにしましょう。
ただし、敢えて設定すべき状況は通常発生しないと思います。

Read more ⟶

Git for Windowsでzipコマンドを再現する


git-archive使えば何とかなることに気付きました。
ちなみにunzipコマンドは標準で使えます。

mkdir workrepo
cd workrepo
git init
cp -r [target_file_or_dir] .
git add .
git commit -m commit
git archive -o ../myarchive.zip @
cd ..
rm -rf workrepo

あんまり自信ないんですけどスクリプトファイルに落とすとこんな感じ?

Read more ⟶

Undertow上でJSF実現


手順

  • FacesInitializer#onStartupでやっていることを自力で書く
  • 標準パス(WEB-INF/classes)に無いので、ManagedBeanアノテーションを付与したクラスを自前で収集する

ソースは: https://github.com/yukihane/hello-undertow-mojarra

関連

Read more ⟶

エラーメッセージでググろうと思ったんだけど日本語だからかヒットしない


Java でメッセージを英語にする

環境変数 JAVA_TOOL_OPTIONS に設定しよう。

export JAVA_TOOL_OPTIONS="-Duser.language=en -Duser.country=US"
Read more ⟶

Tomcat上でJSF実現


非 JavaEE なサーブレットコンテナ上で JSF を実行するように変更する手順。

TL;DR

  • Mojarra を依存関係に含める
  • JSF リソースを javax.faces.webapp.FacesServlet にマップするよう web.xml で設定する

実装例

https://github.com/yukihane/hello-jsf/tree/feature/server/tomcat

feature/server/tomcat ブランチと feature/server/javaee ブランチで diff を取れば、 JavaEE アプリケーションサーバ向け設定との差異がわかります。
(ちなみに masterブランチや README.md の説明は別の内容向けなので気にしないで下さい)

Read more ⟶

Building Java Project


はじめに

  • 他者が作成したプログラムにちょっと変更を加えて使いたい
  • その言語は未経験だけれど、コードの変更自体は検索したり周辺コードのコピペで何とかなりそう
  • しかし、変更したコードをどうやってビルドすれば良いんだ…?

なんてことがたまにあります。
そんな時に参考になるようなドキュメントを目指して記述しました。

Read more ⟶

yamlの継承っぽいのは継承というよりハッシュのマージ


なので配列(Array)には使えない。

database: &default
  ip: 192.168.1.5
  port: 2000
  db_name: test
foo_database:
  <<: *default
  port: 2001
  db_name: foo

上は実現できても下のようにはできない。

database_attr: &default
  - ip
  - port
www_attr:
  <<: *default
  - name

関連: https://github.com/yaml/yaml/issues/35

Read more ⟶

ワンライナー sudoers 編集


Dockerfile 内で sudoers を編集しユーザ情報を追加したかった。

RUN echo 'myuser ALL=(ALL) NOPASSWD: ALL' | EDITOR='tee -a' visudo

参考: linux - How do I edit /etc/sudoers from a script? - Stack Overflow

Read more ⟶

手っ取り早くRPMパッケージを作成したかった


前提

既にビルド方法は確立しており、パッケージシステムに配布方法だけ任せたい、という場合に最小限の手間で RPM パッケージを作ることを考えます

  • ビルドは RPM パッケージングのフロー中では行いません。既存のビルド方法でまかないます。
  • 依存関係の設定は今回無視します。

参考リンク

インストール

RPM パッケージ作成のために必要なパッケージをインストールします。

Read more ⟶

maven-archetype-plugin と archetype-catalog.xml 生成場所/読み取り場所


(注: 文中に記載の localRepository 設定有無、というのは間違った条件かも知れません(検証中))

問題

mvn archetype:generate -DarchetypeCatalog=local コマンドを実行したところ、次のようなメッセージが出力され、 archetype-catalog.xml を認識できていないような感じでしたので原因を調べてみました。

Read more ⟶