M2_HOMEは不要
M2_HOME は削除されました。
- MNGSITE-283 Remove M2_HOME from documentation
- MNG-5607 Don’t use M2_HOME in mvn shell/command scripts anymore
- 3.5.0 リリースノート “Based on problems in using M2_HOME related to different Maven versions installed and to simplify things, the usage of M2_HOME has been removed and is not supported any more MNG-5823, MNG-5836, MNG-5607.”
- (変更 commit)
敢えて設定するのであれば、 上の変更 commit リンク先にある通り、M2_HOMEでなくMAVEN_HOMEにしましょう。
ただし、敢えて設定すべき状況は通常発生しないと思います。
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
あんまり自信ないんですけどスクリプトファイルに落とすとこんな感じ?
…Undertow上でJSF実現
手順
- FacesInitializer#onStartupでやっていることを自力で書く
- 標準パス(
WEB-INF/classes)に無いので、ManagedBeanアノテーションを付与したクラスを自前で収集する
ソースは: https://github.com/yukihane/hello-undertow-mojarra
関連
…エラーメッセージでググろうと思ったんだけど日本語だからかヒットしない
Java でメッセージを英語にする
環境変数 JAVA_TOOL_OPTIONS に設定しよう。
export JAVA_TOOL_OPTIONS="-Duser.language=en -Duser.country=US"
…
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 の説明は別の内容向けなので気にしないで下さい)
Building Java Project
はじめに
- 他者が作成したプログラムにちょっと変更を加えて使いたい
- その言語は未経験だけれど、コードの変更自体は検索したり周辺コードのコピペで何とかなりそう
- しかし、変更したコードをどうやってビルドすれば良いんだ…?
なんてことがたまにあります。
そんな時に参考になるようなドキュメントを目指して記述しました。
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
…
ワンライナー 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
…手っ取り早くRPMパッケージを作成したかった
前提
既にビルド方法は確立しており、パッケージシステムに配布方法だけ任せたい、という場合に最小限の手間で RPM パッケージを作ることを考えます
- ビルドは RPM パッケージングのフロー中では行いません。既存のビルド方法でまかないます。
- 依存関係の設定は今回無視します。
参考リンク
インストール
RPM パッケージ作成のために必要なパッケージをインストールします。
…maven-archetype-plugin と archetype-catalog.xml 生成場所/読み取り場所
(注: 文中に記載の localRepository 設定有無、というのは間違った条件かも知れません(検証中))
問題
mvn archetype:generate -DarchetypeCatalog=local コマンドを実行したところ、次のようなメッセージが出力され、 archetype-catalog.xml を認識できていないような感じでしたので原因を調べてみました。
Java9でJettyでJerseyのMaven
dependency について、2.3.2. Servlet based server-side applicationをみると最小構成はjersey-container-servletだけでいいように見える(Servlet3.0 以降の場合)が、実際にはjersey-hk2も必要。含めない場合次の例外が発生する。
Polymer2 で <input> の値を「親エレメントの値と」バインドする
Polymer2 で の値をバインドする で my-input なるカスタムエレメントを作成しました。<input>の入力値をそのまま表示するだけのエレメントです。
|
|
さて、この入力値を受け取れるよう、親エレメントを次のように作成しました。
…Polymer2 で <input> の値をバインドする
ドキュメントのstartを読み終えて、さあなにか作ってみるか、そうだよく 2-way binding の例で出てくるinputタグ入力値を画面に反映させるのをやってみよう、と思って
|
|
とかやってみたものの上手く行かなかった。
…