Java

A collection of 11 posts

7月 30, 2018

Doma2 ハマりメモ

環境 Doma2 + SQL Server ハマりメモ Timestamp列があるテーブルにINSERTしようとしたらエラー 文字が化けてよく読めないが、DOMA2009が発生している模様。 原因1: Timestamp列にデータをINSERTしようとしていた。 Entityクラスの当該列を以下の感じにして、挿入、更新の対象外にした。 @Column(insertable = false, updatable = false) LocalDateTime updateDate; Timestamp列があるテーブルをSELECTするとエラー https://docs.microsoft.com/en-us/sql/connect/jdbc/using-basic-data-types によると、Timestamp列がマップされるのは、BYTE

5月 28, 2017

EclipseからIntelliJ IDEAに乗り換えてやったことメモ

バージョン情報 IntelliJ IDEA Ultimate 2016.2 macOS Sierra はじめに EclipseからIntelliJ IDEAに乗り換えたので変更した設定を列挙していきます。 キーバインド キーバインドをEclipse (Mac OS X)に変更 フォーマッタ(JavaDoc) Editor - Code Style - Java - JavaDoc -> Do not wrap one

5月 27, 2017

BeanValidation on SpringBoot

ためした環境 SpringBoot 1.3.5 Java 8 基本 FORMのフィールドにアノテーションをつけると、自動的にバリデーションを 行ってくれる。SpringBootの場合は、ControllerのBindingResultに結果が入る。 // lombok使ってると思ってください @Data public class MyForm { @NotNull String value; } 単項目チェックはこれで十分。javax.constraintsに用意されているだけでも 結構な数のバリデータがそろっているので割といける。 https://docs.oracle.com/javaee/7/api/javax/

5月 26, 2017

SpringbootのErrorControllerにはPOSTの処理も必要

環境 Springboot 1.3.5 Java 8 やりたかったこと アプリ内の例外を補足してエラー画面に飛ばしたかった。 ハマったこと 参考URLのスライドを参考にして、ErrorControllerを実装したところ、GETで例外が発生した 場合は、想定通りエラー処理が行われるが、POST中に例外が起きるとエラー画面どころかTomcatのエラー画面 が表示された。 対策 @RequestMapping(value = PATH) public String errorGet(HttpServletRequest request, HttpServletResponse response) { 略 } // これを追加した。 @RequestMapping(value = PATH,

5月 22, 2017

SpringBootの設定ファイルを外部化したい時

環境 SpringBoot 1.3.5 jarでデプロイ (warの場合はこの記事の対象外) どんな時に嬉しいか 開発中は、resources/application.yml を読んで欲しいが、本番時は運用者が設定ファイルを 変更する為に外だしのファイルになっていて欲しいという時。 何をするか 起動時のオプションを以下のように記述すればOK REM 適当に改行していますが、実際は一行で入力します java -jar -Dspring.config.location="c:pathmyconfig.yml" -Dspring.config.name=

5月 19, 2017

MavenリポジトリにないJARをよしなに扱いたい

前提条件 Apache Maven 3.3.3 どんなときに嬉しいの? ojdbc7.jar (Oracle JDBCドライバ) ってMavenのリポジトリにないけど、それをよしなに 扱う事ができます。しかもあんまり面倒ではない方法で 何をするか ローカルにMavenリポジトリ(といってもただのディレクトリとファイル)を作ってそこをpom.xmlから指定します。 後は普通にdependencyで指定するだけ。 どんなコマンド打てばいいの? プロジェクトのルートディレクトリにいる前提で以下のような感じのコマンドを打つ。見た目の為に改行してますが、実際は1行で打って下さい。 当然ですが、jar一個に対して一回コマンドを実行する必要があります。 jarのバージョンアップがあったら、バージョンを変えてもう一回コマンド実行すればよさそうです。 mvn org.apache.maven.

3月 19, 2016

Apache POIでスタイルを作りすぎると開けないExcelファイルが出来てしまう

Apache POIとは Java向けのExcelファイル操作ライブラリです。xls/xlsx両対応。 公式サイトはこちら https://poi.apache.org .NET版のNPOIもあり、ほぼ同じ構成なので同じように当てはまる事象と思われます。 前提として POIのセルのスタイルの設定方法については以下のQiitaを読んで下さい、 http://qiita.com/unishakoooo/items/58a8c2d3a178c965ee94 Apache POIでセルスタイルを設定すると他のセルにまで適用される そもそも開けないExcelとは POIで帳票を作成する際に、セルの罫線などの書式をCellStyleというクラスで扱いますが これは、Workbook(ワークブック=xls(x)ファイルそのもの)の所有物です。 上記の通り、

3月 14, 2016

Eclipseの外部で変更されたファイルを自動的に認識する方法

何に困っていたか 今作っているWebアプリがSpringboot + Typescriptで構成されているが、 Eclipse上でTypescriptを編集するのが辛いので、外部のAtomエディタとgulpを使って 編集→コンパイルを行っている。しかし、Eclipseがgulpによる変更を認識していないため、 ブラウザをリロードしても更新されたファイルを読んでくれない。 手動で対応するなら… gulpのコンパイル後に、Eclipseのプロジェクトを右クリックしてリフレッシュを選択すればいい。 自動にしたいなら... Eclipseの環境設定 -> 一般 -> ワークスペース にある ネイティブフックまたはポーリングを利用してリフレッシュ アクセス時にリフレッシュ の二つにチェックを入れればOK 注意 外部で変更されるファイルをEclipse内で開いてしまうと、Eclipse内のエディタの内容が優先される(=更新が反映されない) 変更は確かに反映される。しかし、少なくともMacOS X(

3月 13, 2016

Spring-Data MongoDBを使っていてハマったこと

はじめに Spring-Data MongoDBを使っていてハマったことをメモしていく。 ハマるたびに随時更新する。 addOperator使おうとしたら手前にWhereがないと書けない? andOperatorは、SQLで言う所の And で複数条件のAndを取る。 Query q = new Query(); q.addCriteria(Criteria.where("column1").is("abc") .andOperator(Criteria.where("column2").ne("abc&

8月 28, 2015

EclipseのパッケージエクスプローラーのFQCN表示が長すぎるので縮めたい

Eclipse標準で表示を短縮する方法がある。 方法1 設定 -> Java -> 外観 を選択し(設定 -> 一般 -> 外観 ではない) 最終セグメントを除く、すべてのパッケージ名セグメントを圧縮にチェックを 入れて、圧縮パターンテキストボックスに、 "1." と入力する。 するとcom.example.appname.longname.MyPackage が c.

8月 27, 2015

Redmine - BitBucket 連携設定方法

このメモは 社内用資料を書くためのメモだったものをQiitaにUPしちゃえ程度に書いているので 割と適当です。 前提 本体: Redmine 2.6.5.stable プラグイン: Redmine Bitbucket plugin 1.0.0 https://bitbucket.org/steveqx/redmine_bitbucket プラグイン導入時の前提として、一度Redmineを実行しているユーザーから、bitbucketに 鍵認証でログインする必要がある。 (=SSH鍵でログイン出来る状態にまでRedmineサーバー、Bitbucketの設定が必要。メモでは割愛) Redmine側の設定 設定→リポジトリタブの一番下、