📝

Airline Ticket Reservation System (ATRS) を動かす

に公開

めあて

技術的な学習などで練習用の素材としてatrsのXMLConfig-JSP版が動作する環境をローカルに構築

前提

WSL(Debian)環境でasdfとdockerが導入済の状態から始めます。

手順

JDKのインストール

bash
asdf install java microsoft-21.0.7
asdf set -u java microsoft-21.0.7

asdf install maven 3.9.11
asdf set -u maven 3.9.11

PostgreSQLのセットアップ

docker compose用のyamlを作成します。

postgresql-for-atrs.yaml
services:
  service_postgres:
    image: postgres:16.9
    container_name: container_postgres
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: atrs
    ports:
      - "5432:5432"
    volumes:
      - volume_postgres:/var/lib/postgresql/data
  service_pgadmin:
    image: dpage/pgadmin4:latest
    container_name: container_pgadmin
    ports:
      - 8888:80
    volumes:
      - volume_pgadmin:/var/lib/pgadmin
    environment:
      PGADMIN_DEFAULT_EMAIL: a@a.com
      PGADMIN_DEFAULT_PASSWORD: password
    depends_on:
      - service_postgres
volumes:
  volume_postgres:
    name: vpg
  volume_pgadmin:
    name: vpga

dockerコマンドで起動

bash
docker compose -f postgresql-for-atrs.yaml up -d

[http://localhost:8888/]にアクセスしてpgAdminからDBが動作していることを確認します。

atrsの実行

bash
git clone https://github.com/terasolunaorg/atrs.git
cd atrs/XMLConfig-JSP/atrs
mvn sql:execute -f atrs-initdb/pom.xml
mvn clean install
mvn cargo:run -pl atrs-web

[http://localhost:8080/atrs/]にアクセスして画面が表示されれば成功です。

エラーになった

report用(?)のディレクトリが/atrsというルートからのpathとなっているため、権限の問題でディレクトリ作成失敗となったので、propertiesファイルでpathを変更し、ディレクトリを作成して再実行することで解決しました。

bash
vi atrs-env/src/main/resources/META-INF/spring/atrs-infra.properties

# report.dirのpathを適当に変更

mvn clean install
mvn cargo:run -pl atrs-web

Discussion