GAE(Google App Engine)を用いたWEBアプリでビルドできません
受付中
回答 1
投稿
- 評価
- クリップ 0
- VIEW 2,273
5年ほど前に実際に稼動していたものの途中から動かなくなって、放置されていたWEBアプリがあり、上司の指示で再度デプロイすることになりました。
JDKやJRE、Jarファイル、他さまざまなプラグインなど雑多な設定が当時のままになっており、そのせいか数多くのエラーが出ていました。
エラーをGoogleで検索してその都度、解説してあるページの支持に従って修正してきましたが、今回は検索しても問題がどういうことなのかどうしてもわからずこの度、質問させていただきました。
ちなみにGAEについては今回のWEBアプリの問題に対処すべく、調べながら簡単なものを作ってデプロイした程度の知識でWEBアプリにつきましても基本的なJSP&サーブレットでWEBアプリが作れる程度の知識でフレームワークはかじったぐらいです。
以下長いのですがeclipseでビルドした際のエラー全文です。
5つのエラーが出ており、それぞれ番号をふりました。
1.ビルド・パスのエラーが解決されるまで、プロジェクトをビルドできません
2.プロジェクト librarian0002 の注釈プロセッサー・ファクトリー '/GAE Librarian/lib/slim3-gen-1.0.5.jar' をロードできませんでした
3.必要なバイナリー内の .class ファイルのバージョンが非互換です。Project 'librarian0002' is targeting a 1.6 runtime, but is compiled against 'C:appengine-java-sdk-1.9.54/lib/shared/appengine-local-runtime-shared.jar' (from the コンテナー 'App Engine SDK [appengine-java-sdk-1.9.54 - 1.9.54]') which requires a 1.7 runtime
4.必要なバイナリー内の .class ファイルのバージョンが非互換です。Project 'librarian0002' is targeting a 1.6 runtime, but is compiled against 'C:Program Files/Java/jre7/lib/rt.jar' (from the コンテナー 'JRE システム・ライブラリー [jre7]') which requires a 1.7 runtime
5.必要なバイナリー内の .class ファイルのバージョンが非互換です。プロジェクト 'librarian0002' は 1.6 実行時をターゲットとしていますが、1.7 実行を必要とする 'C:pleiades/eclipse/plugins/com.gwtplugins.gwt.eclipse.sdkbundle.gwt28_2.8.0.201703272136/gwt-2.8.0/gwt-user.jar' に対してコンパイルされます
2.につきましてはslim3-gen-1.0.5.jarをダウンロードし、クラスパスを通したのですがうまくいきませんでした。プロジェクトの名前(libralian0002)がついているのでおそらく当時の開発者が定義したものでしょうか?よくわかりません。
3~5につきましてはJDKやJREのバージョンを現在の1.7から1.6に設定し直したりしたのですが(eclipseでの設定やPCの環境変数を変更しました)うまくいきませんでした。
補足なのですが現在までの経緯としてeclipseは当時のままバージョン3.7を使用していて、エラーはOAuthに関するものでしたが4.4のeclipseをインストールした際にそれらのエラーはなくなりました。
eclipse4.4をインストールし直した理由としましては、エラーを検索した際にどこかのサイトでのバグフィックスの方法がeclipse4.4以降を用いたものとなっていたこと、またGoogle APIも最新にしたほうが現在のGoogle Cloud Platformとの整合性が取れると考えたからです。
Jarファイルのいくつかが欠損しており、ちゃんとしたものをダウンロードしクラスパスを通し、欠損したものは除去しました。
知識不足で申し訳ありませんが、よろしくお願いします。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
0
古い環境と思われるlibrarian0002がJDK6を指定しているようですが、gwt-user.jarがJDK7が必須のようです。プロジェクトのJDKバージョンを最低でも7に変更しなければ動作しないかと。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.33%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2017/06/28 16:43
プロジェクトのJDKバージョンを1.7にしビルドしたところ
更にいくつものエラーが発生しました。
エラー11個
警告55個
以下主要なエラーの抜粋です
-----------------------------------------------------------------------------
1.Use of com.google.appengine.repackaged may result in your app breaking without warning.
2.メソッド isEmpty(String) は型 StringUtil で未定義です
3.型 FederatedLoginFilter.FederatedLoginEnvironment は継承された抽象メソッド ApiProxy.Environment.getModuleId() を実装する必要があります
4.型 IncreaseURLFetchDeadlineDelegate は継承された抽象メソッド ApiProxy.Delegate<ApiProxy.Environment>.flushLogs(ApiProxy.Environment) を実装する必要があります
-----------------------------------------------------------------------------
現在、エラーについて調べています
2017/06/28 17:10
2017/06/29 11:01
やはりアプリの設定だけでなく実際のソースコードに変更を加えないといけないようですね。
なかなか難しいことになりそうです…。