今まで、
Locale displayLocale = LocaleUtils.toLocale(key);
みたいな感じで、ロケールの文字列をLocaleに変換していたのだけど、Java 8とかだとzh_Hans_CNみたいなもので例外が発生することになる。というわけで、ICU4Jで
ULocale uLocale = new ULocale(key); Locale displayLocale = uLocale.toLocale();
という感じで置き換えることで解決できる。
Challange IT For Future
今まで、
Locale displayLocale = LocaleUtils.toLocale(key);
みたいな感じで、ロケールの文字列をLocaleに変換していたのだけど、Java 8とかだとzh_Hans_CNみたいなもので例外が発生することになる。というわけで、ICU4Jで
ULocale uLocale = new ULocale(key); Locale displayLocale = uLocale.toLocale();
という感じで置き換えることで解決できる。
Mavenリポジトリを無邪気にJavaMailを検索して使おうとすると
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.2</version>
</dependency>
とか、使っても良さそうに見える。だがしかし、こいつはJavaEE用のパッケージなので、com.sun系パッケージのものたちが入っていない…。つまり、クラスが見つからないと怒られるパターン…。というわけで、JavaEEじゃない環境では
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.2</version>
</dependency>
を使うのが良いみたい。
JSPのエディタ上で
javax.servlet.jsp.PageContext cannot be resolved to a type
とか、JspExceptionとかで赤くなるケースがある。バリデーションの設定を変更するのは面倒だけど、pom.xmlに
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
という感じで追加しておけば改善される。