あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。
JetBrainsが旗艦製品であるIntelliJ IDEAのバージョン2017.3をリリースした。Java、Java EE 8、Spring Boot、Kotlin、Dockerのサポート強化など新しい機能を追加している。バージョン2017.2のリリースから3ヵ月後の最新リリースだ。このリリースまで、JetBrainsはこの最新バージョンのパブリックプレビューを提供し、フィードバックとバグレポートを求めた。
Java EE 8
Java EE 8のいくつかの重要な機能はCDI 2.0とServlet 4.0向けのHTTP/2をサポートするために拡張されている。
CDI 2.0向けの拡張には以下が含まれている。
- 非同期イベント - CDIの非同期イベントの発行と受信の間のナビゲーションを実現する。
- ダイナミックBeans - 注入ポイントと注入されるBeanの間のナビゲーションを実現する。
- 新しい組み込みインターフェースのサポート。
RequestContextController
とInterceptionFactory
. - 暗黙(
beans.xml
が必要ない)のBeanアーカイブ、明示的なBeanアーカイブのサポート。
下はCDI 2.0の非同期イベントの例だ。
Java Servlet 4.0の仕様(JSR 369)で新しいインターフェースであるPushBuilder
を含むサーバープッシュの機能が追加された。次の例で示されているように、IntelliJ IDEAの最新バージョンはPushBuilder
のパス補完を提供している。
構成可能な短縮可能なコマンドライン
プロジェクトのクラスパスがOSのコマンドラインの限界に達した場合、構成可能な短縮可能なコマンドラインがクラスパスを短くする方法を提供する。JetBrainsのマーケティングマネージャであるZlata Kalyuzhnaya氏はこの機能の実装についての難題について次のように書いている。
クラスパスを短くする方法はいくつかあります。まず、IntelliJ IDEAが長いクラスパスをテキストファイル(これは仲介するクラスローダーとして働きます)に書き出す方法です。しかし、この方法はいくつかのフレームワークでうまく動作しませんでした。例えばJMockです。それから、ある程度の標準的なやり方を試しました。長いクラスパスをclasspath.jarにパックする方法です。残念ながら、これも駄目でした。他のフレームワークで動かなかったのです。
そして悲しいことに、どのような短縮化がアプリケーションに有効なのか予測することができないのです。この意思決定はユーザーに残されています。JUnitとTestNGの構成では、2017.3は短縮化の方法を提供します。
Spring Boot/Spring MVC
Spring BootとSpring MVCのサポートも追加されている。Spring Bootの構成ファイルの構文のハイライト、Spring Boot 2.0のアクチュエータのエンドポイント、Spring CloudフレームワークとMVCコンテキストの自動検知などの機能だ。下の例のように、Spring MVCアプリケーションで関連するファイルを簡単にナビゲートできるようになっている。
Spring Boot 2.0アプリケーションの場合、Run Dashboardが適切なアクチュエータのエンドポイントの情報をアプリケーションが実行中に提供する。
JUnit 5
IntelliJ IDEAはJUnit 5が正式にリリースされる前にJUnit 5をサポートしたが、今回の最新のリリースではさらに多くの機能を提供している。JUnit 5へのユニットテストの移行機能もある。次のようなJUnit 4のユニットテストだ。
import org.junit.Assert;
import org.junit.Test;
public class FirstTest {
@Test
public void myFirstTest() {
Assert.assertEquals("one plus one should equal two", 2, 1 + 1);
}
}
インスペクションメニューから"Migrate to JUnit 5"を選択すると、次のようにJUnit 5に変換してくれる。
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class FirstTest {
@Test
public void myFirstTest() {
Assertions.assertEquals(2, 1 + 1, "one plus one should equal two");
}
}
参考情報
InfoQの記事、IntelliJ IDEA 2017.2: より賢く、より的確に、そしてより早く
Zlata Kalyuzhnaya氏のブログ記事IntelliJ IDEA 2017.3 EAP: Configurable Command Line Shortener and More
Zlata Kalyuzhnaya氏のブログ記事What's New in IntelliJ IDEA 2017.3 EAP for Java EE 8
Zlata Kalyuzhnaya氏のブログ記事What's New in IntelliJ IDEA 2017.3 for Spring Boot
Zlata Kalyuzhnaya氏のブログ記事IntelliJ IDEA 2017.3: JUnit Support
Rate this Article
- Editor Review
- Chief Editor Action