面倒くさい作業が増えた

将皇の問題配信で使っているGoogleのサーバ(AppEngine)でJava7が使えなくなるからJava8に移行してくれとアナウンスが来ました。Java7でデプロイしたプログラムは来年の1月で強制的にシャットダウンするという事です。( ´_ゝ`)フーンと思って移行方法を調べてみたところ芋づる式に作業が増える事が分かりテンションがガタ落ちです。とりあえずまとめてみます。

 

■Java7からJava8への移行方法について

 

Migrating from Java 7 to Java 8 Runtime

Migrating from Java 7 to Java 8 Runtime  |  App Engine standard environment for Java 8  |  Google Cloud

 

をみるとappengine-web.xmlに<runtime>の設定を追加してデプロイすれば良い、とあるので早速試してみたところエラーがでました。「今使っている環境が最新でない(むしろかなり古い)ので最新にしてから考えよう!」と思い調べると、現在使っている「Google Plugin for Eclipse」が非サポートになっていた事を今更知りました。「Cloud Tools for Eclipse」に移行せよとのことです。

 

■Cloud Tools for Eclipseの移行方法について

 

Google Plugin for Eclipse からの移行

Google Plugin for Eclipse からの移行  |  Cloud Tools for Eclipse  |  Google Cloud

 

新しいソフトウェアをいくつかインストールする必要があります。普段なら面倒臭い作業ですが、開発環境を新しいPCに移行する必要が元々あったため、ちょうど良いきっかけになりました。手順に従って移行するといくつかエラーが発生します。エラーの内容をググって解決。解決した後にナレッジをまとめたQiitaを発見しました…。

 

Google Plugin for Eclipse から Cloud Tools for Eclipse への移行

Google Plugin for Eclipse から Cloud Tools for Eclipse への移行 - Qiita
#はじめにGoogle Plugin for Eclipse が2018年01月で廃止されるということで、既存のプロジェクトを Cloud Tools for Eclipse で構築した開発環境へ…

 

色々あったけどjava8でデプロイできました。と思ったら実行時エラーが発生。Java8でサポートしていないクラスがあるとのこと。使っていないので削除!削除!

 

今度は別のエラーが発生。これが一番の問題です。移行ガイドを再度読んでみたところ「Cloud Tools for Eclipse はエンティティ クラスを自動拡張しません」という一番がさらっと書いてあって、このせいでエラーが起きていました。端的にまとめるとDBアクセス系の関数が全部非サポートということです。移行の方法がさらっと書いてありましたが、Stackonverflowの事例を見た限りでは別のライブラリを使った方が早いみたいです。

 

DataNucleus JDO with Google Cloud Tools for Eclipse

DataNucleus JDO with Google Cloud Tools for Eclipse
I am using the relatively new Google Cloud Tools Plugin for Eclipse, replacing the Google Plugin for Eclipse. I have converted my App Engine project to the envi...

 

それなりのプログラム修正が必要です。残念無念。しっかりしたテストも必要だし、この作業に集中しても半月以上かかる気がします。3か月くらいかけて少しずつ進めていこうと今は考えていますが、それにしても大幅なモチベダウンです。

コメント

PAGE TOP
タイトルとURLをコピーしました