Help us understand the problem. What is going on with this article?

Eclipse & MavenでJava11を認識してくれなかったときの話

More than 1 year has passed since last update.

はじめに

 最近、ふと思い立ってHttpRequestを投げるプログラムを書いたときのこと。
 「そういえばJava9からincubatorとしてHttpClient入ったんだっけ」とJava9で開発をスタートしたものの、ダラダラ作ってるうちにJava11がリリース。
 Java11ではJava9のincubator.httpのHttpClient等がjava.net.httpになったため、当然のように使用しているJavaのバージョンも11に変更。

 で、HttpResponseのbodyを処理するのにGsonを使用していて、管理はMaven使っていた。
 EclipseでMavenプロジェクトを作成するとpomに何も変更をしていない状態ではJ2SE-1.5がJRE System Libraryに指定されるので、pom.xmlでバージョンを指定する必要があり下記のように指定していた。

  <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.0</version>
              <configuration>
                <source>11</source>
                <target>11</target>
              </configuration>
        </plugin>
    </plugins>
  </build>

※pomは雰囲気でコピペしたりして使ってるので書き方がおかしいとかインデントが糞とかあったらごめんなさい

 この時にJava10までは普通に指定して認識してくれたのに「11を指定すると何故か認識されずにJ2SE-1.5になる」というのが本題。

解決編

 普通に書く分には全く問題ないしInstalled JREsにはちゃんとjdk-11入ってるのになー、と思ってググっていたら下記を発見。

Java 11 Support for Eclipse 2018-09 (4.9)

This marketplace entry provides Java 11 support for Eclipse 2018-09 (4.9). To install the feature, please make sure you have the 4.9 version of Eclipse IDE installed

 Java11 Support for Eclipseという名前だしこれをインストールすれば良いのかな、と思いインストール。
 しようと思ったら使ってたEclipseのバージョンが4.8だったのでIDEをまずは更新することに。

 というわけでEclipseのFAQの下記項目に従って更新を試す。

Upgrading existing Eclipse IDE and Installed Features to newer release
To upgrade Eclipse IDE to the next major release

  1. You first need to add the new release's repository as follows:
    1. Window > Preferences > Install/Update > Available Software Sites
    2. Click 'Add'
    3. Enter the URL of the new repository (for example, http://download.eclipse.org/releases/2018-09/ ).
    4. Click 'Ok'
  2. Help > Check for Updates
  3. If updates are found, proceed through the install wizard and restart the IDE when prompted. Otherwise, read carefully the error message to find out which component is conflicting and establish your resolution strategy.

 ちゃんと4.9に更新された、と思ったら微妙にどこかしくじったようで再起動すると4.8に戻る。
 何度か試したものの一向にうまくいかないので諦めてEclipse4.8を削除して4.9を新しく入れ直し。
 で上記のプラグインをインストールしたところ無事にJava11で認識されるようになった。

 が、今度はEclipse側でコメント内の日本語だけが文字化け & 日本語を含む行の「*」「"」などのフォントがデフォルトの以外に変わる(?)バグに遭遇。

 これ自体は4.8入れたときにも発生したことがあって、その時はフォント変えたり戻したりしたらいつの間にか直っていた。
 というわけで同じようにフォントをいじったもののうまくいかず。

 結局pom.xmlでJava11を認識するようになった代わりにデフォルトフォントが使えなくなったというのが今回のオチ。
 こっちの解決方法は分からなかったのでとりあえずデフォルトの代わりに下記のフォントを使用することにした。

プログラミング用日本語等幅フォント Cica(シカ)

opt
"INNOVATION AGENCY" を標榜するインターネット広告代理店。エンジニア組織 "Opt Techonologies" を中心にアドテクetc...に取り組んでいます。
https://opt-technologies.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした