アーカイブ

‘eclipse’ カテゴリーのアーカイブ

409 Conflict No transaction is in progress で appengine にデプロイできない

2011 年 11 月 11 日 tdtsh Comments off

今日、GAE/Jでeclipseからデプロイしようとすると、失敗しました。
ダイアログはこんな感じです。

Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/startserving?app_id=XXXXXXX&version=XXXX&
409 Conflict
No transaction is in progress.

前にも何度かやった気がするけどイチイチ忘れるんでメモ。

appengine java sdk がインストールされていればそれを使えばいいんだけど、eclipse の Plugin としてインストールしているなら、eclipse のインストールディレクトリのpluginの中にSDKがそっくり存在します。

私のいまの環境ではこんな感じでした。


cd c:\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle_1.5.5.r36v201110112027
\appengine-java-sdk-1.5.5\bin
(実際は1行)

appcfg.cmd rollback c:\git\PROJECTNAME\war

参考にした先人の知恵

一日一歩: GAE/J デプロイにて 409 conflict が出た場合の対処

カテゴリー: Google App Engine, eclipse, 開発環境 タグ:

eclipse の viPlugin と キーバインドの変更

2011 年 11 月 4 日 tdtsh Comments off

Windows機でテキスト書くときはgvimです。
なので、つい j とか k とか Ctrl+FとかCtrl+B とか打ってしまいます。
その点、GoogleのWEBサービスはGMailをはじめショートカットがVimmerにやさしいのですきです。

最近は Macbook Air を触ることが多いですが、面倒くさくて gvim 入れてないです。
もっぱら eclipse を頑張って使っていこうとしています。
なので、eclipse もなるべく vim ライクなキーバインドにしたい訳です。

eclipseの場合は、viPluginを使えば、マァそこそこいけます。
もう数年無料のままで使ってましたが、いい加減ちゃんとしようと思ってランセンス料を支払いました。
PayPalで一瞬でした。15ユーロだったかな?支払い後、作者からPayPalに登録してあるメールアドレス宛にライセンスキーが送られてきます。
サイトのFAQには2日位かかると書いていますが、結構すぐ送ってくれました。

送られてきた[viPlugin.licence] を、eclipseのインストールディレクトリ(Mac は私の環境では /Applications/eclipse/ )に配置してeclipseを起動すればOKです。

あとは、eclipse のキーバインドでvimと衝突しているものを、適宜書き換えていく感じです。
[設定] – [一般] – [キー] で変更できます。
気がついた所では、Ctrl+F が検索に割り当てられているんで、Ctrl+Bと共にページ送りに設定した位です。
少しづつ良い感じに仕上げていこうと思います。

カテゴリー: eclipse, java, macbookair タグ:

Slim3 1.0.14 とCross-Group Transactions

2011 年 11 月 2 日 tdtsh Comments off

Slim3が1.0.14になってる訳ですが、手もとのeclipseを確認したら、slim3-1.0.12.jarじゃないですか。

Slim3 Eclipse Pluginで横着してたんで、気がつきませんでした。

ソフトウェアの更新で出現しないんですけど、勝手にjarを入替えちゃってもいいんですかね。

というかPluginで入れても、更新は手作業なのかな。 (後日ちゃんとslim3pluginのアップデートが配信されました (2011/11/09 追記))

やってみた。いけた。

Slim3 1.0.14から、appengine SDK 1.5.5のリリースを受けて、グローバルトランザクション周りが変わっているようです。

Datastore.beginGlobalTransaction() じゃなく、フツーのDatastore.beginTransaction() で、Cross-Group Transactionsに対応しているとか。

5 entity groupsまでなら、複数Entity Groupをぶっこんでも、問題なく更新とかできる様になっている筈。

今までは複数のEntity Groupをトランザクションに含めると「IllegalArgumentException:can’t operate on multiple entity groups in a single transaction.」とか怒られたんですが、今回からは 5 Entity Group 以上を含んだ場合出るのかな。

また今度ちゃんと試します。

試しました (2011/11/09 追記)

・・・おそらく GTXの実装には苦労された事と思うんですが、ひがさんの心中や如何に。

カテゴリー: Google App Engine, eclipse, slim3, 開発環境 タグ:

急にeclipse から appengine にデプロイできなくなりました

2011 年 10 月 28 日 tdtsh Comments off

なんの拍子か判らないけど、気がついたら eclipse から appengine へデプロイしようとすると、こんなダイアログが出て失敗する様になりました。

An internal error occurred during Deploying %APPNAME% to Google NullPointerException

理由は判りません。
心当たりがあるとすれば、appengine python sdk のランチャを弄ってた位です。

Windows XP 、eclipse は Helios、appengine java SDK は 1.5.5 です。

取り急ぎは macbook air の開発環境から問題なくdeploy出来るんでいいんですが、そこそこ困ります。

更に、ローカルで実行しようとすると、こんな風に怒られます。

java.lang.RuntimeException: Unable to locate the App Engine agent. Please use dev_appserver, KickStart,  or set the jvm flag: "-javaagent:/lib/agent/appengine-agent.jar"
	at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java:102)
	at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:77)
	at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:38)
	at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:154)
	at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
	at com.google.appengine.tools.development.DevAppServerMain.(DevAppServerMain.java:113)
	at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
Caused by: java.lang.NoClassDefFoundError: com/google/appengine/tools/development/agent/AppEngineDevAgent
	at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java:98)
	... 6 more
Caused by: java.lang.ClassNotFoundException: com.google.appengine.tools.development.agent.AppEngineDevAgent
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	... 7 more

どうやら、VMの引数をちゃんとしろと言っているようです。

プロジェクトを右クリックして、英語の場合は[Run As] – [Run Configurations] を起動、[(x) = Arguments]タブ (日本語化の場合は[実行] – [実行の構成...] で[(x)=引数]タブ)で指定できます。

ですが、元々の値が判りませんし入れるのメンドクサイです。

かんたんな対処法は、パッケージエクスプローラ上の「App Engine SDK [App Engine - 1.x.x]を右クリックし、ビルドパスから除去して、プロジェクトのプロパティから再度SDKを指定すれば自動で入りました。

カテゴリー: Google App Engine, eclipse タグ:

index が error で appengine にデプロイできないので index を削除

2011 年 10 月 22 日 tdtsh Comments off

以前WindowsでGAEのインデックス削除しましがが、Macでもやってみました。

以前Windowsでやった時は (pythonのSDKをインストールすればlancherが入っています。bulkloaderとかも。)、インデックスの削除にかなり時間がかかった記憶がありますが、数分で終わりますね。

先人の知恵

一日一歩: GAE/Jにてインデックスエラーでデプロイが失敗する場合の対処など

GAE/J使いの為のインデックス削除ツール – y-kawazの日記

カテゴリー: Google App Engine, eclipse タグ: