ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

Ubuntu 18にJava開発環境構築

今回は仕事でJavaのソースを渡されていて、開発環境を構築してみることになったんで、手順をメモしてみる

JreJDKのインストール

Javaの開発なのでまずはJRE(Java Rutime Environment)とJDK(Java Development Kit)をインストールする。

※ 参考までにJreJdkの種類 - Oracle Jre/Jdk : 基本Oracleが提供する有料Javaの指す(月額3千円ぐらい) - Open Jre/Jdk : オープンソースJAVA(無料) 基本はOpenJre/Jdkを使う感じかな…

ローカルの最新Jreをインストールする場合、

$ sudo apt install default-jre 
$ sudo apt install openjdk-8-jre
$ sudo apt install openjdk-8-jre-headless
$ sudo apt install openjdk-11-jre
$ sudo apt install openjdk-11-jre-headless

GUIが不要な場合はheadless版にする

続けてJDKのインストール、バージョンを指定してインストールする。

$ sudo apt install default-jdk 
$ sudo apt install openjdk-8-jdk 
$ sudo apt install openjdk-8-jdk-headless 
$ sudo apt install openjdk-11-jre
$ sudo apt install openjdk-11-jre-headless

GUIが不要な場合はheadless版にする

インストールされたJavaのバージョンを確認

$ java -version

aptの中からインストール可能なバージョンを探すコマンド

$ sudo apt search openjdk-\(\.\)\+-jdk$
Sorting... Done
Full Text Search... Done
openjdk-11-jdk/bionic-updates,bionic-security 11.0.4+11-1ubuntu2~18.04.3 amd64
  OpenJDK Development Kit (JDK)

openjdk-8-jdk/bionic-updates,bionic-security 8u222-b10-1ubuntu1~18.04.1 amd64
  OpenJDK Development Kit (JDK)

結果として、openjdk-11-jdk,openjdk-8-jdkが検索されている。

Javaのバージョンを切り替える場合

「update-alternatives --config java」命令で使用するJavaJDKバージョンを切替可能

$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  Press <enter> to keep the current choice[*], or type selection number: 

JAVA_HOME設定

上記からのJre PathをJAVA_HOMEに設定する。

$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
$ export PATH=${JAVA_HOME}/bin:${PATH}

自動化

.profileに設定を追加

export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
export PATH=${JAVA_HOME}/bin:${PATH}

Mavenのインストール

今回のソースはMavenでビルド管理しているみたいなので、Mavenもインストールします。

特定バージョンをダウンロードしてインストール

  • Maven 3.3.9をダウンロード ソースでは3.3.9が使われていたので、最新ではなく、古いバージョンんをダウンロードします。
$ cd /usr/local/lib/
$ sudo wget https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
$ sudo tar -zxvf apache-maven-3.3.9-bin.tar.gz
$ sudo rm apache-maven-3.3.9-bin.tar.gz
  • 環境設定
$ export M2_HOME=/usr/local/lib/apache-maven-3.3.9
$ export PATH=${M2_HOME}/bin:${PATH}
  • 自動化
    .profileに設定を追加
$ export M2_HOME="/usr/local/lib/apache-maven-3.3.9"
$ export PATH=${M2_HOME}/bin:${PATH}

aptを利用したインストール

$ sudo apt policy maven
maven:
  Installed: (none)
  Candidate: 3.6.0-1~18.04.1
  Version table:
     3.6.0-1~18.04.1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe i386 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/universe i386 Packages
     3.5.2-2 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu bionic/universe i386 Packages
  • すでにある場合は削除する
$ sudo apt remove maven
  • Mavenの最新版をインストール
$ sudo apt install maven
  • インストールされた場所
$ ls -lsa/usr/share/maven
$ ls -lsa/etc/maven

Mavenのバージョンを確認

$ mvn -v

Maven archetypeからプロジェクトを作成する

sourceフォルダーの直下に新しいプロジェクトを作成する場合

$ cd soruce
$ mvn archetype:generate

最初に必要なプロジェクトテンプレートをダウンロードする。
その後からはInteractiveに設定を進めればOK

  • 最終的に以下のフォルダー構成が生成される
source
  {artifactId}
    src
      main
        java
          {packageName}
    test
      ...
    pom.xml

{}の部分はプロジェクト生成時に入れた値

Maven コマンド

作成したプロジェクトルートから実行する

  • mvn compile : ソースをコンパイルする
  • mvn test-compile : テストコードをコンパイルする
  • mvn test : テストを実施
  • mvn clean : ソース以外のフォルダをクリアする
  • mvn package : コンパイル、テスト後、Jarファイルまで生成
  • mvn exec:java : pom.xmlにexec-maven-pluginを追加することで実行可能になる
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.5.0</version>
    <configuration>
    <mainClass>{プロジェクトのスタートクラス}</mainClass>
    </configuration>
</plugin>

Eclipse インストール

  • Eclipse IDE Mars 2 Eclipse IDE for Java Developersをダウンロード ソースが古いため、旧バージョンのEclipseをダウンロードする。
$ wget https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/mars/2/eclipse-java-mars-2-linux-gtk-x86_64.tar.gz

中の実行ファイルで起動できたので、とりあえずはここまで