引き続きになりますが、ファイルAPIが廃止で、GCSへの切り替えが上手くいっていません。

263 views
Skip to first unread message

青山鳩太郎

unread,
Sep 13, 2015, 10:40:59 PM9/13/15
to Google-App-Engine-Japan
前回にこの件で投稿して、前進はしたのですが、
結果的にデバッグ(ローカル)環境では上手く動きますが、本番環境では
java.lang.NoClassDefFoundError:になってしまいます。

経緯を報告しますと、
最初は、明らかにライブラリーが不足していて、ビルドできませんでした。
そこで、 guava-18.0.jar、joda-time-2.8.2.jar を追加しました。
ビルドは上手くいって、デバッグ(ローカル)環境でも上手くいっています。

本番環境では、java.lang.NoClassDefFoundError:になってしまうので、
必要と思われるものを何でもかんでも追加しましたが、少しメッセージは変わりますがダメでした。
(エラーの個所)
gcsService = GcsServiceFactory.createGcsService();
(エラーの例)
java.lang.NoClassDefFoundError: com/google/api/client/http/HttpRequestInitializer
java.lang.NoClassDefFoundError: Could not initialize class com.google.appengine.tools.cloudstorage.oauth.OauthRawGcsServiceFactory
java.lang.NoClassDefFoundError: com/google/api/services/storage/Storage$Builder

何か基本的に勘違いしているような気がしますが分かりません。
デバッグ(ローカル)環境と本番環境で動作が違うのは、こちらの問題でないような気もします。
本番で、どんなライブラりを使っているかは分からないですよね?
ギブアップ!

Shingo Ishimura

unread,
Sep 13, 2015, 11:42:15 PM9/13/15
to google-app-...@googlegroups.com
ライブラリの依存関係の解決ならmavenかgradleを使えば良いような?と思いつつも、手元のプロジェクトをまるっとzipに固めてみました。


元になってるレポジトリは https://github.com/sinmetal/gcs-client-library-sample です。

2015年9月14日 11:40 青山鳩太郎 <treron.s...@gmail.com>:

--
このメールは Google グループのグループ「Google-App-Engine-Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには google-app-engine...@googlegroups.com にメールを送信してください。
このグループに投稿するには google-app-...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/google-app-engine-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

青山鳩太郎

unread,
Sep 14, 2015, 3:46:41 AM9/14/15
to Google-App-Engine-Japan
真さん ありがとうございます。

ビルドのことがもっと理解していないといけないのですね。
単に、jarファイルをやみくもに追加してもダメなのですね。
antやmavenについて勉強してみます。
少し時間がかかると思います。

Yuji Kawabe

unread,
Sep 14, 2015, 4:09:40 AM9/14/15
to google-app-...@googlegroups.com
こんにちは。

理解(勉強は)はした方が良いでしょうけど、
急ぎであれば、
pom.xml 開いて「依存関係層」タブのライブラリーと
クラスパスのライブラリを突き合わせてみればイケるんではないかと。

※ライブラリ要因であれば。です。たぶんそうでしょうけど。

※pom.xml「依存関係層」タブ=eclipse の使用前提
  Maven POMエディターで開くとタブがある。

蛇足:
新規のプロジェクトだと勉強しやすいんですが
既存プロジェクトをMaven等にするのは
結構ちゃんと時間作って気合入れないと挫折するんですよね。
(ずっっっっと挫折中<自分)w

2015年9月14日 16:46 青山鳩太郎 <treron.s...@gmail.com>:

--

青山鳩太郎

unread,
Sep 14, 2015, 8:09:46 PM9/14/15
to Google-App-Engine-Japan
ゆーじ さん ありがとうございます。

やってみます。
少しづつコツを覚えながらイメージを沸かせます。
少し、時間をください。
Message has been deleted

青山鳩太郎

unread,
Sep 16, 2015, 8:33:50 PM9/16/15
to Google-App-Engine-Japan
ようやく動きました。
やはり、ご指摘のようにクラスの依存関係の問題で、jarを追加して動くようになりました。
でも、どんな依存関係があるのか良く分かっていません。
まず動いたので安心しましたが、今後は依存関係について調べてみます。
この辺をクリアしないとオープン環境を使いこなせないですね、今後の不安もあるし。


Reply all
Reply to author
Forward
0 new messages