共同開発
同期と共同開発をスタートしているがインフラ面や環境構築で非常にもたついているのが申し訳ない。
でも今まで何となくやってたことの裏側がわかってきて面白い気もする。
環境構築
実際に起こったこと
同期(macOS)が作ったソースコードをGitHubにpush
↓
Ubuntu22.04でpull
↓
eclipse起動するもプロジェクト動かない
↓
Windows11だと動く
原因
結論、Linuxだとpleiades All in Oneが利用できないため、サーバーランタイム系のライブラリが読み込めていない。
サーブレットやJSP等のJavaEEのライブラリはアプリケーションサーバが提供している。1
しかし、Linuxユーザー用に用意されたpleiadesプラグインにはApacheTomcatのアプリケーションサーバが含まれていないため、起動されなかった。2
ちなみにApacheTomcat自体はインストールされているが、.classpathのパスが異なっていたため起動できなかったと思われる(要調査)
ソリューション
- パッケージ管理ツールを使う
⇒MavenかGradleを使って必要パッケージをリポジトリから取得させる。おそらく一番正解に近い - Windowsに振り切る
⇒今回に限った話であれば悪くないが、未来のことを考えると微妙。 - Ubuntuに入っているLinuxをどうにかする
⇒一種の環境構築と言ってしまえばそれはそう。おそらく一番早い。 - .classpathを.gitignoreに入れる
⇒これで解決するかどうかはわからない。 - Dockerにデバッグ環境を構築し、ローカルのJREやtomcatはおおよそ合わせてマイナーバージョンは個人に任せちゃう
⇒これソリューションでは?ローカルを汚さずに環境構築というできるというDockerの性質にマッチしている気がする。
結論
パッケージ管理はあるべき。(JDBCドライバ、jstlなどを裸で持っておくことは健全ではない)
細かい環境についてはDockerに任せてしまおう。
ざっくり参考にしたサイト
-
スッキリわかるサーブレット&JSP入門 第3版 https://sukkiri.jp/books/sukkiri_servlet3 ↩
-
統合開発環境 Eclipse 日本語化プロジェクト - Pleiades https://willbrains.jp/ ↩