3
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Amazon Linux2 でJava8の環境構築からSpringの起動まで

全体の流れ

  1. [EC2]Amazon Linux2 でJava8の環境構築
  2. [ローカル]ローカルでSpringプロジェクトを作成する
  3. [EC2]Springプロジェクトを起動する

Amazon Linux2 でJava8の環境構築

1.sshでEC2インスタンスに接続

$ ssh -i <key名>.pem ec2-user@<パブリックIPアドレス>

2.JREのインストール

$ sudo yum search java | grep jdk
$ sudo yum install -y java-1.8.0-openjdk.x86_64

$ sudo yum search java | grep jdk
ldapjdk-javadoc.noarch : Javadoc for ldapjdk
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.8.0-openjdk-accessibility-debug.x86_64 : OpenJDK 8 accessibility
java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment 8 with full debug
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos 8 with full debug on
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment 8 with
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK 8 API documentation for
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed
java-1.8.0-openjdk-javadoc-zip-debug.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle 8 for packages with
ldapjdk.noarch : The Mozilla LDAP Java SDK

JRE1.8.0をインストール

$ sudo yum install -y java-1.8.0-openjdk.x86_64

※ openjdkとopenjdk-develの2種類があるが、EC2上での開発は想定していないので、今回はopenjdkをインストール。ちなみに上がJREのことで下はJDK。
- java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
- java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment

Javaのバージョンを確認しておく

$ java -version

$ java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

ちゃんと1.8.0になっている。

ローカルでSpringプロジェクトを作成する

jarファイル、Java Archive(Javaアーカイブ)とは、Javaプロジェクトに含まれるクラスファイルや画像データなどひとまとめにしたZIP形式の圧縮ファイルのこと。

このファイルをEC2側にコピーして、ビルドしてあげる。

1.プロジェクトからjarファイルを生成

ローカル(自分のPC)にあるSpringプロジェクトのディレクトリに移動して、コマンドでjarファイルを生成

$ cd プロジェクトのディレクトリ
$ mvn clean package

2.sftpでファイルをコピー

## sftp connect
$ sftp -i <key名>.pem ec2-user@<パブリックIPアドレス>
## file put
sftp> put target/<ファイル名>.jar

注意点

  • SpringBootプロジェクトのjavaバージョンを8に設定する

-> pom.xmlのpropatyをいじる

<properties>
    <java.version>8</java.version>
</properties>

-> 環境パスを変更

$ cd ~/.zshrc
$ vi .zshrc
## 以下の設定を追記する
export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.8"`
PATH=$JAVA_HOME/bin:$PATH

-> 最後に更新するのを忘れず

$ source ~/.zshrc

Springプロジェクトを起動する

1.sshでEC2インスタンスに接続

$ ssh -i my-key.pem ec2-user@<パブリックIPアドレス>

2.javaコマンドでプロジェクトをビルド

$ java -jar <ファイル名>.jar

$ java -jar todo-app-0.0.1-SNAPSHOT.jar 

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.3.RELEASE)

...

AWSでの変更点

Security Groupの変更
- インバウンドルールでポート8080への接続を許可する

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
3
Help us understand the problem. What are the problem?