Ubuntu 18にJava開発環境構築
今回は仕事でJavaのソースを渡されていて、開発環境を構築してみることになったんで、手順をメモしてみる
JreとJDKのインストール
Javaの開発なのでまずはJRE(Java Rutime Environment)とJDK(Java Development Kit)をインストールする。
※ 参考までにJreとJdkの種類 - 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」命令で使用するJavaのJDKバージョンを切替可能
$ 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設定
$ 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を利用したインストール
- Mavenを検索
$ 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 インストール
$ 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
中の実行ファイルで起動できたので、とりあえずはここまで